nginx热升级及加入系统服务

Nginx的热升级功能使得在不中断服务的情况下能够更新配置或升级软件,通过准备新版本、启动新版本、测试新版本、切换流量和关闭旧版本等步骤,可以确保系统持续稳定运行并保证高可用性。

本章将nginx1.22升级为1.25版本。安装包可以去nginx官网下载

nginx热升级

1.nginx保持启动,解压1.25源码包

tar zxvf nginx-1.25.1.tar.gz -C /usr/src

2.进入解压后目录,开始热升级

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module && make

3.将旧的nginx启动方式移动或者改名,将新的启动模块复制进去

mv /usr/local/nginx/sbin/nginx /usr/local/sbin/nginx_old
[rootelocalhost nginx-1.25.1]#cp objs/nginx /usr/local/nginx/sbin/nginx

4.使nginx的旧版本停止接受请求。由新版本的nginx来接替。并且老的进程处理完所有的请求后,关闭所有的连接并停止。查看nginx版本是否升级。

kill -s USR2 $(cat /usr/local/nginx/logs/nginx.pid)
nginx -v

加入系统服务

编辑nginx服务文件(/etc/rc.d/init.d/nginx)

#!/bin/bash
#chkconfig:2345 35 25
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
start)
        $PROG
        echo "nginx    qidong!"
        ;;
stop)
        kill -s QUIT $(cat $PIDF)
        echo "nginx     guanbi!"
        ;;
restart)
        nginx -s stop
        $PROG
        ;;
reload)
        kill -s HUP $(cat $PIDF)
        nginx -s reload
        echo "chongxin nginx"
        ;;
*)
echo "Useage:$0 {start|stop|restart|reload}"
        exit 1
esac
exit 0

给予执行权限

chkconfig --add nginx
chmod +x /etc/rc.d/init.d/nginx

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值