Nginx的平滑重启和升级

Nginx的平滑重启和升级


          Nginx平滑重启

          如果修改了Nginx的配置文件(nginx.conf),想要重启Nginx,同样通过发送系统信号给Nginx的主进程的方式。

          但是,重启之前,需要确认Nginx配置文件的语法是否正确,否则,Nginx不会加载新的配置文件。


          通过以下命令检查配置文件是否正确

          /user/local/webserver/nginx/sbin/nginx –t –c

          /user/local/webserver/nginx/conf/nginx.conf

          如果配置文件不正确,将会提示配置文件的第几行出错

          [emerg]:unknowndirective “abc” in /user/local/webserver/nginx/conf/nginx.conf:55

          Configuration file/user/local/webserver/nginx/conf/nginx.conf test failed

          如果配置文件正确,将提示以下两行信息

          The configurationfile /user/local/webserver/nginx/conf/nginx.conf syntax is ok

          Configurationfile /user/local/webserver/nginx/conf/nginx.conf test is successful


          此时,就可以平滑重启Nginx了,如下

          Kill –HUP Nginx 主进程号

          Kill – HUP‘/user/local/webserver/nginx/logs/nginx.pid’

          当Nginx接收到HUP信号之后,它会尝试解析指定的配置文件,如果可以使用,就应用新的配置文件,否则使用默认的配置文件。

          如果解析成功,Nginx重新打开日志文件或监听的套接字,Nginx运行新的的工作进程,并从容关闭旧的工作进程,通知工作进程监听套接字,但是,继续为当前连接的客户提供服务,所有客户端的服务完成之后,旧的工作进程将关闭。

          如果,新的配置文件应用失败,Nginx将继续使用旧的配置进行工作。


          Nginx的信号控制

          可以使用信号来控制Nginx停止、平滑重启等等,Nginx支持的信号如下

          TERM,INT——快速关闭

          QUIT——从容关闭

          HUP——平滑重启,重新加载配置文件

          USR1——重新打开日志文件,在切割日志时用途较大

          USR2——平滑升级可执行程序

          WINCH——从容关闭工作进程


          Nginx平滑升级

          当需要将正在运行的Nginx升级、添加/删除服务器模块时,可以在不间断服务的情况下,使用新版本、重编译的Nginx可执行程序替换旧版本的可执行程序。

          1、使用心得可执行程序替换旧的可执行程序,对于编译安

装的Nginx,可以将新版本编译安装到旧版本的Nginx安装路径中,替换之前,最好备份一下旧的可执行文件。

          2、发送以下命令

          Kill –USR2 旧版本的Nginx主进程号

          3、旧版本Nginx的主进程将重命名为它的.pid文件为.oldbin,比如,/user/local/webserver/nginx/logs/nginx.pid.oldbin,然后,执行新版本的Nginx可执行程序,一次启动新的主进程和新的工作进程。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值