官方文档地址:http://nginx.org/en/docs/beginners_guide.html#control
开启
官网上写,运行nginx的可执行文件即可开启nginx(但是要注意执行该指令的用户身份)。nginx一旦开启,可以通过可执行文件加-s参数来对其进行控制。
nginx -s signal
其中 signal 可以是
- stop ---- 快速关闭
- quit ---- 平滑关闭
- reload ---- 重新加载配置文件
- reopen ---- 重新打开日志文件
但是要注意指令执行的用户身份保持一致。
平滑关闭
nginx -s quit
该指令使所有的worker进程完成其当前服务请求后关闭。
重载配置文件
nginx -s reload
当master进程接受到这个信号后,重载配置文件,检查新配置文件的正确性,并且尝试使用新配置文件的配置内容。如果成功,master进程开启新的worker进程并且发送消息给旧worker进程,请求关闭旧worker进程。如果失败,master进程将回滚,继续使用旧配置文件的配置。旧worker进程接受到master的消息后,停止接受新的请求,在完成现有请求后关闭。
信号也可以通过unix的工具(比如kill指令功能)发送。在这种情况下,信号将被直接发送给指定ID的进程。master进程的进程ID默认被记录在/usr/local/nginx/logs/下的nginx.pid里面,或者/var/run中。例如,如果master进程的ID是1628,可以通过如下指令平滑关闭nginx:
kill -s QUIT 1628
注:可以通过如下ps指令功能查看正在运行的所有nginx进程
ps aux | grep nginx