1.查看nginx当前的版本以及编译环境
/usr/local/nginx/sbin/nginx -V
查看编译参数
nginx version: nginx/1.12.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC)
configure arguments: --with-openssl=/usr/local
2.下载最新板nginx并且上传编译,不需要安装
http://nginx.org/en/download.html 下载nginx,并且上传解压
进入nginx目录
cd /user/local/nginx-1.15.9
进行编译,参数与查看出来的相同
./configure --with-openssl=/usr/local
然后
make
完成后会在当前目录生成objjs文件夹。
3.备份之前的sbin/nginx二进制文件
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak.2019.03.12
4.替换二进制文件为最新,也就是将编译生成的objs下的nginx文件替换到nginx安装目录下
cp /usr/src/nginx-1.15.9/objs/nginx /usr/local/nginx/sbin/
5.发送USR2信号,开启新的进程与老进程一起处理请求。
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
6.查看进程。pid是新的进程,pid.old.bin是老的进程,在nginx/logs目录下
查看nginx进程:
ps -ef|grep nginx|grep -v grep
7.退出旧的进程,通过上面的old bin 查看老进程的id
11006是老进程的进程号
kill -QUIT 11006
再次查看进程:11006已经退出
最终用客户端测试下是否可以正常访问网站或应用即可
参照资料:
https://www.cnblogs.com/chenwz/p/7622983.html