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/config

cd 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-stream

make 
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
# 设置组

假装在扯淡
1 声望1 粉丝