从容关闭
使用 QUIT 信号可以优雅地关闭 Nginx,这意味着它会等待所有当前的工作进程完成它们正在进行的任务后再退出。这对于确保所有正在处理的请求都能顺利完成是非常重要的。你可以通过以下命令发送 QUIT 信号给 Nginx 的主进程
kill -QUIT <主进程号>
kill -QUIT $(cat /path/to/nginx.pid)
快速关闭
如果你想让 Nginx 尽快停止,但仍然允许当前正在处理的请求完成,可以使用 TERM 或者 INT 信号。这两种信号的效果是相同的,都是告诉 Nginx 主进程立即开始关闭过程,不过与 QUIT 不同的是,它不会等待新的连接被完全处理完。
kill -TERM <主进程号>
# 或者
kill -INT <主进程号>
强制关闭
如果你需要立即终止 Nginx 并且不关心当前正在进行的请求,那么可以使用 KILL (-9) 信号。需要注意的是,这种方式可能会导致未完成的操作被中断,并且不会给 Nginx 任何机会去清理资源或保存状态信息。因此,除非绝对必要,否则不建议这样做
kill -9 <主进程号>
重新加载配置
例如,当你修改了 nginx 的配置文件后,发送 kill -HUP <nginx_pid> ,nginx 会重新加载新的配置,而不会停止服务,这样可以在不中断服务的情况下应用新的配置更改。
kill -HUP <主进程号>