如果改变了 Nginx 的配置文件 (nginx.conf),想要重启 Nginx ,同样可以通过发送系统信号给 Nginx 主进程的方式来进行。不过,重启之前,要确认 Nginx 配置文件 (nginx.conf) 的语法是正确的,否则 Nginx 将不会加载新的配置文件。通过以下命令可以判断 Nginx 配置文件是否正确:
/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
如果配置文件不正确,屏幕将会提示配置文件的第几行出错;
如果配置文件正确,屏幕将提示以下两行信息:
# /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
这时候,就可以平滑重启 Nginx 了。
kill -HUP Nginx主进程号
或者
kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
pid位置可以在配置文件中查找
当 Nginx 接收到 HUP 信号时,它会尝试先解析配置文件 (如果指定配置文件,就使用指定的,否则使用默认的),如果成功,就应用新的配置文件 ( 例如,重新打开日志文件或监听的套接字 )。之后, Nginx 运行新的工作进程并从容关闭旧的工作进程。通知工作进程关闭监听套接字,但是继续为当前连接的客户提供服务。所有客户端的服务完成后,旧的工作进程被关闭。如果新的配置文件应用失败,Nginx 将继续使用旧的配置进行工作。
转载来源:my.oschina.net/u/923772/bl…
谢谢作者辛苦编辑