> `nginx -V` 查看编译参数命令;
```
$ /usr/local/openresty/nginx/sbin/nginx -V
nginx version: openresty/1.13.6.1
built by gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
built with OpenSSL 1.0.2j 26 Sep 2016
TLS SNI support enabled
configure arguments: --prefix=/usr/local/openresty/nginx
--with-debug
--with-cc-opt='-DNGX_LUA_USE_ASSERT -DNGX_LUA_ABORT_AT_PANIC -O2 -O3'
--add-module=../ngx_devel_kit-0.3.0
--add-module=../iconv-nginx-module-0.14
--add-module=../echo-nginx-module-0.61
--add-module=../xss-nginx-module-0.05
--add-module=../ngx_coolkit-0.2rc3
--add-module=../set-misc-nginx-module-0.31
--add-module=../form-input-nginx-module-0.12
--add-module=../encrypted-session-nginx-module-0.07
--add-module=../srcache-nginx-module-0.31
--add-module=../ngx_lua-0.10.11
--add-module=../ngx_lua_upstream-0.07
--add-module=../headers-more-nginx-module-0.33
--add-module=../array-var-nginx-module-0.05
--add-module=../memc-nginx-module-0.18
--add-module=../redis-nginx-module-0.3.7
--add-module=../rds-json-nginx-module-0.15
--add-module=../rds-csv-nginx-module-0.08
--add-module=../ngx_stream_lua-0.0.3
--with-ld-opt=-Wl,-rpath,/usr/local/openresty/luajit/lib
--user=www
--group=www
--with-file-aio
--with-threads
--with-http_v2_module
--with-http_realip_module
--with-http_mp4_module
--with-stream
--with-http_gzip_static_module
--with-http_ssl_module
--with-openssl=/usr/local/ssl
--with-openssl-opt=enable-tlsext
--with-http_stub_status_module
--with-http_xslt_module
--add-dynamic-module=/home/www/build/nginx-ts-module
--add-dynamic-module=/home/www/build/nginx-rtmp-module
--add-dynamic-module=/home/www/build/nginx-module-vts
--add-module=/home/www/build/ngx_cache_purge-2.3
--add-dynamic-module=/home/www/build/nginx-vod-module
--add-dynamic-module=/home/www/build/nginx-push-stream-module
--with-stream --with-stream_ssl_module
```
> `--with` 的编译参数特别说明(代表官网模块)
> 安装编译参数详解
```
--prefix=/etc/nginx #nginx的主目录;
--sbin-path=/usr/sbin/nginx #nginx的执行命令目录;
--modules-path=/usr/lib64/nginx/modules #nginx的模块目录;
--conf-path=/etc/nginx/nginx.conf #nginx的配置文件目录;
--error-log-path=/var/log/nginx/error.log #nginx的错误日志目录;
--http-log-path=/var/log/nginx/access.log #nginx的访问日志目录;
--pid-path=/var/run/nginx.pid #nginx的pid进程文件路径;
--lock-path=/var/run/nginx.lock #Nginx锁文件目录;
// 执行对应模块时,Nginx所保留的临时性文件;带有temp后缀字样的文件;
--http-client-body-temp-path=/var/cache/nginx/client_temp
--http-proxy-temp-path=/var/cache/nginx/proxy_temp
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp
--http-scgi-temp-path=/var/cache/nginx/scgi_temp
// 处于服务器安全性的考虑,设定Nginx进程启动的用户和组用户;不建议使用root用户;
--user=nginx
--group=nginx
--with-cc-opt=parameters #设置额外的参数将被添加到CFLAGS变量;
--with-ld-opt=parameters #设置附加的参数,链接系统库,如pcre库;
```
> Openresty 编译参数
```
./configure
--prefix=/usr/local/openresty
--with-luajit
--with-stream
--with-stream_ssl_module
--with-stream=dynamic
--with-file-aio
--with-threads
--with-http_v2_module
--with-http_realip_module
--with-http_mp4_module
--with-http_gzip_static_module
--with-http_ssl_module
--with-http_stub_status_module
--with-http_xslt_module
--with-http_iconv_module
--without-http_redis2_module
--with-openssl-opt=enable-tlsext
--add-dynamic-module=/www/home/nginx-rtmp-module-1.2.1/
--add-dynamic-module=/www/home/nginx-ts-module-0.1.1/
--add-dynamic-module=/www/home/nginx-vod-module-1.23/
--add-dynamic-module=/www/home/nginx-module-vts-0.1.18
```
直接赋值编译
```
sudo ./configure --prefix=/usr/local/openresty --with-luajit --with-stream --with-stream_ssl_module --with-stream=dynamic --with-file-aio --with-threads --with-http_v2_module --with-http_realip_module --with-http_mp4_module --with-http_gzip_static_module --with-http_ssl_module --with-http_stub_status_module --with-http_xslt_module --with-http_iconv_module --without-http_redis2_module --with-openssl-opt=enable-tlsext --add-dynamic-module=/home/www/nginx-rtmp-module-1.2.1/ --add-dynamic-module=/home/www/nginx-ts-module-0.1.1/ --add-dynamic-module=/home/www/nginx-vod-module-1.23/ --add-dynamic-module=/home/www/nginx-module-vts-0.1.18/
```
> 模块在www用户家目录中
[如何编译一个高性能 OpenResty](https://yq.aliyun.com/articles/228399)
遇到的问题
```
Starting A dynamic web platform based on Nginx and LuaJIT....
openresty.service: Can't open PID file /run/openresty.pid (yet?) after start: No such file or directory
```
该文件确实存在于`/var/run/openresty.pid`中,并且可读。更改`/usr/local/openresty/nginx/nginx.conf`:
修改
```
pid /var/run/nginx.pid;
```
为
```
pid /run/openresty.pid;
```
* [nginx服务器安装及配置文件详解](http://seanlook.com/2015/05/17/nginx-install-and-config/)
- 序言
- Nginx从入门到实践
- 第一章 前言
- 第二章 基础篇
- 2-1 什么是Nginx?
- 2-2 常见的中间件服务
- 2-3 Nginx特性-多路复用
- 2-4 Nginx特性-轻量级
- 2-5 Nginx特性-Cpu亲和
- 2-6 Nginx特性_实现优点4
- 2-7 Nginx的快速安装
- 2-8 Nginx安装目录
- 2-9 Nginx编译配置参数
- 2-10 Nginx默认配置语法
- 2-11 Nginx默认站点启动
- 2-12 HTTP请求
- 2-13 Nginx日志
- 2-14 Nginx模块介绍
- 2-15 Nginx的请求限制
- 2-16 Nginx的访问控制
- 第三章 场景实践篇
- 3-1 Nginx作为静态资源web服务
- 1、静态资源类型
- 2、CDN场景
- 3、配置语法
- 4、场景演示
- 5、浏览器缓存原理
- 6、跨站访问
- 7、防盗链
- 3-2 Nginx作为代理服务
- 1、代理服务.
- 2、反向代理配置场景
- 3、正向代理配置场景
- 4、代理配置和规范
- 3-3 Nginx作为负载均衡服务
- 1、配置语法与场景
- 2、参数讲解
- 3、backup状态演示
- 4、轮询策略
- 3-4 Nginx作为缓存服务
- 1、缓存服务配置语法
- 2、场景配置演示.
- 3、分片请求
- 第四章 深度学习篇
- 4-1 Nginx动静分离
- 4-2 Rewrite规则
- 1、配置语法
- 2、正则表达式
- 3、规则中的flag
- 4、redirect和permanent区别
- 5、规则场景
- 4-3 Nginx进阶高级模块
- 1、secure_link模块作用原理
- 2、Geoip读取地域信息模块
- 4-4 基于Nginx的HTTPS服务
- 1、原理和作用
- 2、证书签名生成CA证书.
- 3、实战场景配置苹果要求的openssl
- 4、HTTPS服务优化
- 4-5 Nginx与Lua的开发
- 1、Nginx与Lua特性与优势
- 2、Lua基础开发语法
- 3、Lua的指令及api接口
- 4、实战场景灰度发布
- 第五章 Nginx架构篇
- 安全
- 5-27 Nginx+LUA防火墙功能
- Nginx 错误专题
- 1、 Failed to parse PID from file
- 2、error: the HTTP gzip module requires the zlib library
- 3、open() “/usr/local/nginx/html/favicon.ico” failed (2: No such file or directory)
- Openresty
- 控制命令