【nginx篇】:nginx平滑升级

遇到问题:

升级软件版本之后,需要启动新的版本,启动不了,端口已经被占用

如果直接把旧版本的服务停止掉,会影响线上业务的使用

最佳解决办法:

①旧的不先停掉

②新的又可以起来

③旧的和新的同时提供服务,旧的请求完成之后,就停掉旧进程

-USR2 平滑启动一个进程(平滑升级)

-WINCH 优雅的关闭子进程

-QUIT 优雅关闭主进程

操作流程:

第一步:选择要编译安装新版本

说明:之前安装nginx是1.14版本的,现在要升级到1.16版本

第二步:解压文件并进入文件夹

# tar xvf nginx-1.16.0.tar.gz

# cd nginx-1.16.0

 第三步:查看以前就版本安装用的编译参数

 # /usr/local/nginx/sbin/nginx  -V

 

 第四步:开始编译

# ./configure  --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module
# make && make install

说明:升级新版本,需要把软件的安装路径,指定到旧版本上。

以上操作完成之后,会把原来的旧版本备份为nginx.old

 

 第五步:新旧版本同时运行

# kill -USR2 主进程号 

 说明:主进程号是看旧进程pid

# cat /usr/local/nginx/logs/nginx.pid

或者

# ps aux|grep nginx

第六步:停止掉旧进程

说明:查看旧的主进程号,并使用kill -WINCH 优雅的关闭的子进程,再关闭旧的主进程

# kill -WINCH 旧的主进程号
# kill -QUIT 旧的主进程号

 

 第二种方法:在nginx中,默认提供了平滑升级的操作,只需要执行以下命令

#注意先configure  在nginx源码包执行
# make install && make upgrade

说明:执行完上面第四步之后,执行上面的命令就行

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值