关于平滑重启的意思,就是指已经连接到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 从容关闭工作进程