【NGINX】nginx平滑升级(热升级)保姆级教学

这里演示是nginx1.22.1版本升到1.24.0版本(该版本是目前发布最新稳定版本)仅限于编译安装

官网下载地址:

nginx: download

百度网盘提取链接:

https://pan.baidu.com/s/1rW7Ob-4kbPQTqDTnHivFxg?pwd=bgit 
提取码:bgit

将获取到的nginx-1.24.0.tar.gz包上传

准备编译安装需要使用的一些插件(已经有的可以忽略这一步)

yum -y install gcc gcc-c++ pcre pcre-devel openssl openssl-devel zlib zlib-devel

解压nginx-1.24.0.tar.gz并cd到目录内

tar xzf nginx-1.24.0.tar.gz -C /usr/local/

cd /usr/local/nginx-1.24.0/

编译参数安装,使用/usr/local/nginx/sbin/nginx -V 查看信息,将参数直接复制即可,如果想要加一些新的模块只需要在后面加上  --add  跟上对应的模块名

!注意该步骤需要复制自己的配置参数信息,需要与之前配置参数一致,下面只是我个人的,仅供参考

完成后使用make即可,不要使用make install,会将原来的配置文件覆盖

备份二进制文件和 nginx 的配置文件(期间nginx不会停止服务)

复制新的nginx二进制文件,进入新的nginx源码包

mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_$(date +%F)

cp /usr/local/nginx-1.24.0/objs/nginx /usr/local/nginx/sbin/

测试新版本的nginx是否正常

/usr/local/nginx/sbin/nginx -t

USR2: 启动新的主进程,实现热升级

kill -USR2 `cat /var/run/nginx.pid`

 查看nginx pid,会出现一个nginx.pid.oldbin

ll /var/run/nginx.pid*

 从容关闭旧的Nginx进程(WINCH: 逐步关闭工作work进程)

kill -WINCH `cat /var/run/nginx.pid.oldbin`

重新加载配置文件,使用新的配置启动工作进程,并逐步关闭旧进程。

kill -HUP `cat /var/run/nginx.pid.oldbin`

 等待请求处理结束后再退出

kill -QUIT `cat /var/run/nginx.pid.oldbin`

查看是否升级成功 

/usr/local/nginx/sbin/nginx -v

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋叶瓦解了思念

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值