nginx平滑重启

关于平滑重启的意思,就是指已经连接到nginx的请求将继续使用旧的配置,待客户端服务完成后,旧的工作进程将关闭,下次请求将采用新的配置。

好处:重启过程中,不会出现500相关的错误,用户体验较好。

windows下启动nginx

cd d:\nginx
start nginx

nginx的服务管理
nginx -s [stop|quit|reopen|reload]
从容停止nginx

kill -QUIT pid

快速停止nginx

kill -TERM pid
或kill -INT pid

强制退出

pkill -9 nginx

升级过程中,使用如下平滑重启,而不要一位的使用kill -9 pid等危险命令

使用如下命令

kill -HUP Nginx主进程号

原理

当nginx接收到HUP信号时,它会尝试先解析配置文件(如果指定配置文件,就使用指定的,否则使用默认的,重启时,先用 -t参数检查下),如果成功,就应用新的配置文件(例如,重新打开日志文件或监听的套接字)。之后,nginx运行新的工作进程并从容关闭旧的工作进程。通知工作进程关闭监听套接字,但是继续为当前连接的客户提供服务。所有客户端的服务完成后,旧的工作进程将被关闭。如果新的配置文件应用失败,nginx将继续使用旧的配置进行工作。

支持的信号

TREM,INT 快速关闭
QUIT  从容关闭
HUP 平滑重启,重新加载配置文件
USR1 重新打开日志文件,在切割日志时用途较大
USR2 平滑升级可执行程序
WINCH 从容关闭工作进程

版权声明:本文为huangbaokang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。