编译nginx-1.16.1

cd /home/dev/app/source## 下载压缩包 wget http://nginx.org/download/nginx-1.16.1.tar.gz ## 下载探活模块 git clone https://github.com/yaoweibin/nginx_upstream_check_module.git## 下载 pcre-8.39.zip ## 下载 zlib-1.2.8.tar.xz ## 下载 openssl-1.1.0c.tar.gz## 下载会话保持模块 wget https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/master.tar.gz#解压 tar zxvf nginx-1.16.1.tar.gz unzip pcre-8.39.zip tar xvf zlib-1.2.8.tar.xz tar xvf openssl-1.1.0c.tar.gz tar xvzf nginx-goodies-nginx-sticky-module-ng-08a395c66e42.tar mv nginx-goodies-nginx-sticky-module-ng-08a395c66e42 nginx-sticky-module## 若使用windows系统clone nginx_upstream_check_module,然后上传至测试环境,需执行以下命令 dos2unix nginx_upstream_check_module/configcd nginx-1.16.1 patch -p1 < /home/dev/app/source/nginx_upstream_check_module/check_1.16.1+.patch ##安装目录为 /home/dev/app/build/nginx ./configure--prefix=/home/dev/app/build/nginx --with-pcre=/home/dev/app/source/pcre-8.39 --with-zlib=/home/dev/app/source/zlib-1.2.8 --with-openssl=/home/dev/app/source/openssl-1.1.0c --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --add-module=/home/dev/app/source/nginx_upstream_check_module --add-module=/home/dev/app/source/nginx_sticky_module --with-streammake make install## 进入安装好的目录 cd /home/dev/app/build/nginx

附参数手册
--prefix=/app/nginx # 安装目录 --conf-path=/app/nginx/conf/nginx.conf # 配置文件 --sbin-path=/app/nginx/sbin/nginx # 可执行文件 --http-log-path=/app/nginx/logs/access.log # 访问日志 --error-log-path=/app/nginx/logs/error.log # 错误日志 --pid-path=/app/nginx/logs/nginx.pid # pid文件 --lock-path=/app/nginx/logs/nginx.lock # lock文件 --with-ld-opt=-Wl,-rpath,/usr/local/lib # 设置文件链接参数 --with-pcre=/usr/local/src/pcre-8.42 # 指定pcre库源码位置 --with-zlib=/usr/local/src/zlib-1.2.11 # 指定zlib库源码位置 --with-openssl=/usr/local/src/openssl-1.0.2n # 指定openssl库源码位置 --add-module=/usr/local/src/nginx_upstream_check_module-0.3.0 # 反向代理时,如果后端服务器down,nginx不会识别到,继续发送请求到这台realserver;location中的proxy_next_upstream参数可以解决发送给用户错误页面, # 但它是先把请求发到这个realserver,然后再转发给别的server,这样就会增加一次转发;nginx_upstream_check_module可以检测后端服务器的状态, # 如果后端服务器出现异常,则请求不会发送到这台服务器。 --add-module=/usr/local/src/nginx-sticky-module # 基于cookie实现会话保持,通过分发和识别cookie,来使同一个客户端的请求落在同一台服务器上。 --add-module=/usr/local/src/nginx-upstream-fair-master # 比内建的负载均衡更加智能的负载均衡模块,目前这个模块已经停止更新了,nginx1.11版本以上就不再支持。 --add-module=/usr/local/src/ngx_cache_purge-2.3 # 该模块使得Nginx可以使用PURGE指令手动清除指定URL的缓存页面。 --add-module=/usr/local/src/lua-nginx-module-0.10.13 # 把 lua 解析器内嵌到 nginx,用来解析并执行lua 语言编写的网页后台脚本。 --add-module=/usr/local/src/ngx_devel_kit-0.3.0 # 以一种可用作其他Nginx模块基础的方式扩展Nginx Web服务器的核心功能,它只是为了帮助减少Nginx模块开发人员需要编写的代码。 --add-module=/usr/local/src/set-misc-nginx-module-0.32 # 该模块是标准的HttpRewriteModule指令的扩展,提供更多功能,如URI转义与非转义、JSON引述、Hexadecimal/MD5/SHA1/Base32/Base64编码与解码、随机数等 --with-http_addition_module # 可以在响应体的前面或后面附加上数据, --with-http_dav_module # 该模块主要是通过WebDAV协议实现文件管理自动化。该模块可以处理HTTP和WebDAV的方法PUT,DELETE,MKCOL,COPY和MOVE。 --with-http_flv_module # 该模块为Flash Video文件提供伪流服务器端支持,利用请求URL的查询字符串中的start参数处理请求,通过从请求的字节偏移量开始发送内容,并返回FLV头部。 --with-http_gzip_static_module # 该模块允许发送带有.gz文件扩展名的预压缩文件,而不是普通文件。 --with-http_realip_module # 获取客户端真实IP。 --with-http_stub_status_module # 该模块提供nginx的基本状态信息。 --with-http_ssl_module # 支持HTTPS --user=nginx # 设置用户 --group=nginx # 设置组

    推荐阅读