博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在生产环境中对Nginx平滑升级
阅读量:6611 次
发布时间:2019-06-24

本文共 1243 字,大约阅读时间需要 4 分钟。

hot3.png

环境

服务器:192.168.10.181

系统:CentOS 6.0

当前Nginx版本:1.0.8

升级nginx版本:1.1.5

操作过程

1、切换至root用户

2、查看当前运行的Nginx的主进程

[root@Nginx canyouNgx]# ps -ef | grep "nginx: master process" | grep -v "grep" | awk -F ' ' '{print $2}'

3、备份旧版本

[root@Nginx canyouNgx]# cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

4、解压Nginx-1.1.5源码包,执行模块配置

[root@Nginx nginx-1.1.5]# ./configure

5、编译安装新版本

[root@Nginx nginx-1.1.5]# make && make install

6、启动新版本的Nginx

发送 USR2 信号到旧版本的 PID,这样做会启动新版本,但是旧版本也不会退出, 两个版本会同时运行

[root@Nginx nginx-1.1.5]# kill -USR2 6294

7、关闭旧版本的nginx进程

发送 WINCH 信号到旧版本 PID,此时用 ps aux|grep nginx 可以看到旧版本 Nginx 的 worker 会逐渐退出,最后所有请求都会由新版本的 Nginx 处理

[root@Nginx nginx-1.1.5]# kill -WINCH 6294

8、彻底关闭旧版本

最后测试新版本没有问题后可以彻底停掉旧版本,发送 QUIT 信号到旧版本的 PID

[root@Nginx nginx-1.1.5]# kill -QUIT 6294

9、查看当前的nginx主进程号

[root@Nginx nginx-1.1.5]# ps -ef | grep "nginx: master process" | grep -v "grep" | awk -F ' ' '{print $2}'

10、查看当前的nginx版本

[root@Nginx nginx-1.1.5]# /usr/local/nginx/sbin/nginx -V

PS:

如果测试后想恢复到旧版本的话,发送 HUP 信号到旧版 PID

kill -HUP PID

关闭新版本,发送 QUIT 到新版本 PID,如果着急,也可以用 TERM

kill -QUIT PID

最后把备份的 Nginx 替换回去

rm -rf /usr/local/nginx/sbin/nginx

mv /usr/local/nginx/sbin/nginx.old /usr/local/nginx/sbin/nginx

转载于:https://my.oschina.net/yankunren/blog/70040

你可能感兴趣的文章
JDBC练习题——登录系统
查看>>
代码即设计 | 掘金年度征文
查看>>
GuzzleSwoole v1.1.0,让 Guzzle 完美兼容 Swoole 协程
查看>>
javascript性能优化
查看>>
运维工程师笔试真题:美团点评 2017 春招真题
查看>>
关于绝对定位和overflow的可见与不可见
查看>>
Vue学习笔记2
查看>>
LDAP密码认证例子
查看>>
2019程序媛面试之美少女战士
查看>>
有限状态机是什么?
查看>>
箭头函数
查看>>
Maven经验分享(一)安装部署
查看>>
实现语言的自举
查看>>
activemq 5.8 IllegalStateException: The Session is closed 处理方法
查看>>
传统媒体的春天来了
查看>>
eclipse操作伪分布式集群报错
查看>>
零点起飞学Photoshop CS6图像处理
查看>>
getRequestURL getRequestURI
查看>>
linux账户管理命令
查看>>
WebService+CXF+Spring+Android 访问接口报错 意外的元素
查看>>