参考文章:https://www.jianshu.com/p/8f93946135cb?v=1693365062413
pcre下载
http://sourceforge.net/projects/pcre/files/pcre/
https://sourceforge.net/projects/pcre/files/pcre/8.41/pcre-8.41.tar.gz/download
openssl下载
https://www.openssl.org/source/old/
nginx下载
http://nginx.org/download
配置环境
解压pcre(不要编译)
tar xf pcre-8.41.tar.gz -C /data
解压zlib(不要编译)
tar xf zlib-1.2.11.tar.gz -C /data
编译模块
解压openssl(不要编译)
tar xf openssl-1.0.1l.tar.gz -C /data
ps:指定openssl版本,不指定版本默认使用服务器版本
解压headers-more-nginx-module(不要编译)
tar xf headers-more-nginx-module-0.34.tar.gz -C /data
ps: 隐藏nginx版本号
直接安装(方案一)
编译安装(停掉服务直接安装)
先停掉nginx服务,并将/data/nginx目录改名,
cd nginx-1.24.0
./configure --prefix=/data/nginx --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-pcre=/data/pcre-8.41 --with-openssl=/data/openssl-1.0.1l --with-zlib=/data/zlib-1.2.11 --add-module=/data/headers-more-nginx-module-0.34
make
make install
平滑升级(方案二)
查看原先nginx配置了那些模块
#根据自己的环境查看
/data/nginx/sbin/nginx -V
查看原nginx编译.png
编译nginx
cd nginx-1.24.0
./configure --prefix=/data/nginx --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-pcre=/data/pcre-8.41 --with-openssl=/data/openssl-1.0.1l --with-zlib=/data/zlib-1.2.11 --add-module=/data/headers-more-nginx-module-0.34
make (千万不能执行make install)
剩下的就是平滑升级
mv /data/nginx/sbin/nginx{,.`date +%Y%m%d%H%M`}
cp ./objs/nginx /data/nginx/sbin/
/data/nginx/sbin/nginx -t
make upgrade
upgrade进行平滑升级.png
发送平滑信号就进程不在接受信号
kill -USR2 `cat /data/nginx/logs/nginx.pid`
停止旧的工作进程
kill -WINCH `cat /data/nginx/logs/nginx.pid.oldbin`
结束旧的master进程
kill -QUIT `cat /data/nginx/logs/nginx.pid.oldbin`
隐藏nginx版本
在nginx.conf文件中的http模块中加入
more_clear_headers 'Server'; #隐藏版本号
隐藏版本号.png
网友评论