Nginx平滑启动
在使用Nginx的过程中,如果修改了Nginx的配置文件nginx.conf,需要重启Nginx。此时,可以通过发送系统信号给Nginx的主进程的方式来进行重启。
1 | [root@iZbp15pfzhnlrnbckvwflmZ conf]# ps -ef | grep nginx |
当Nginx接收到HUP信号之后,它会尝试解析指定的配置文件,如果可以使用,就应用新的配置文件,否则使用默认的配置文件。
如果解析成功,Nginx重新打开日志文件或监听的套接字,Nginx运行新的的工作进程,并从容关闭旧的工作进程,通知工作进程监听套接字,但是,继续为当前连接的客户提供服务,所有客户端的服务完成之后,旧的工作进程将关闭。
如果,新的配置文件应用失败,Nginx将继续使用旧的配置进行工作。
可以使用以下指令来检测配置文件是否正确:
切换到nginx的sbin目录下
1 | # ./nginx -t |
如果配置文件正确,将显示
1 | nginx: the configuration file /usr/local/webserver/nginx/conf/nginx.conf syntax is ok |
如果配置文件有问题,将抛出异常,并标识哪一行有问题
Nginx支持的信号如下
- TERM, INT 快速关闭
- QUIT 从容关闭
- HUP 平滑重启,重新加载配置文件
- USR1 重新打开日志文件,在切割日志时用途较大
- USR2 平滑升级可执行程序,用于Nginx程序升级时使用
- WINCH 从容关闭工作进程