【发布时间】:2017-08-19 14:21:28
【问题描述】:
编辑完 nginx 配置文件后如何重新加载?
我在 Mac 上将它与 Rails 一起使用......但我是 nginx 的新手,所以我真的不知道该怎么做。
我已经研究并尝试了nginx -s reload,但这只是返回一个错误,即没有这样的文件/目录。
【问题讨论】:
标签: ruby-on-rails macos nginx
编辑完 nginx 配置文件后如何重新加载?
我在 Mac 上将它与 Rails 一起使用......但我是 nginx 的新手,所以我真的不知道该怎么做。
我已经研究并尝试了nginx -s reload,但这只是返回一个错误,即没有这样的文件/目录。
【问题讨论】:
标签: ruby-on-rails macos nginx
您可以通过 systemctl restart nginx 或 /usr/local/etc/rc.d/nginx restart 之类的方式完全重启 nginx,也可以向其进程发送 signal 以使其重新加载其配置:killall -s SIGHUP nginx
【讨论】:
ps 查找 nginx PID 并使用 kill: "kill -s SIGHUP 1234" 发送信号
-s reload 的重点不是避免过渡之间的停机时间吗?使用restart 或killall 会破坏该目的
SIGUSR1,另一个是SIGHUP。这些都不会杀死进程,但它们可以被正在运行的进程处理并“做事”。如果SIGHUP 是重新加载,请参见此处:nginx.org/en/docs/control.html 和 SIGUSR1 如果您使用外部 logrotate 机制也很有用。
我是这样做的
killall -9 nginx; sleep 1; nginx
【讨论】: