Linux centos7 nginx 平滑升级

时间:2021-08-19
本文章向大家介绍Linux centos7 nginx 平滑升级,主要包括Linux centos7 nginx 平滑升级使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

2021-08-19
为了方便读者的阅读,该文通篇使用绝对路径,各位朋友们在实际上操作中可以根据实际情况编写路径(#^.^#)
1. 当前环境

# system
cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

# nginx
./nginx -V
nginx version: nginx/1.16.1
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) 
configure arguments: --prefix=/home/tomcat/app/nginx


2. 下载

# 下载新版的 nginx,版本为 1.18.0
wget -P /home/tomcat/bag/ http://nginx.org/download/nginx-1.18.0.tar.gz


3. 升级

# 解压到指定文件夹下
tar -zxf nginx-1.18.0.tar.gz -C /home/tomcat/app/

# 到解压目录下
cd /home/tomcat/app/nginx-1.18.0 

# 预编译,老版用到了什么模块,这里也要加上的,我前一版预编译也是这样进行的
.
/configure --prefix=/home/tomcat/app/nginx/

出现这样的提示信息后就可以进行编译了

# 编译
make

注意不要 make install ,因为这会覆盖安装新版本的 nginx。
做完上面的步骤就可以开始升级了
首先我们要将老版的 nginx 备份

cd /home/tomcat/app/nginx/sbin

# 打开 nginx 服务
./nginx

# 备份
mv nginx nginx1.16.1

然后将新版的执行文件复制到这个文件夹下

cd /home/tomcat/app/nginx-1.18.0/objs
cp nginx /home/tomcat/app/nginx/sbin

现在就可以进行平滑升级操作了

# 查看当前 nginx 进程号
ps -ef | grep nginx

# 平滑开启新的 nginx 服务,此时新的 master 进程已经正常开启,但老的 work 进程也存在
kill -USR2 主进程号
# 将老的 work 进程平滑停止
kill -WINCH 老版worker 进程号
# 关闭老的 nginx master进程
kill -QUIT 老版主进程号


至此,平滑升级结束,可以看到 nginx 服务并没有受到影响(因为我部署了负载均衡,所以打开是这个界面)







本文来自博客园,作者:元月二一,转载请注明原文链接:https://www.cnblogs.com/ljq225/p/15163000.html

原文地址:https://www.cnblogs.com/ljq225/p/15163000.html