我定期更新nginx配置文件,由于技术问题,有时可能会发生nginx未运行。
在这种情况下,如果我运行nginx -s reload
,我会看到此错误:
nginx:[error] open()“/ run / nginx.pid”失败(2:没有这样的文件或目录)
如果nginx配置正在运行,我该如何重新加载nginx配置?如果没有看到该错误,如果它没有运行,我怎么能启动?
答案 0 :(得分:0)
如果您不能指望nginx已经运行,那么您应该重新启动它。但是,如果你真的想要上述内容,假设你在linux / unix上运行,看起来你就可以创建一个小的shell脚本了。再次,假设您的默认shell是bash或bash兼容(其他shell必须移植),您可以执行以下操作:
#!/bin/sh
if [ -f /run/nginx.pid ]; then
/path/to/nginx -s reload
else
/path/to/whatever/command/starts/nginx
fi
您可以使用inotify将上述内容提升到一个全新的水平。同样,假设您正在运行Linux发行版,您可以安装操作系统发行版的inotify-tools包,并在每次配置文件更改时自动运行上述脚本文件。有关使用inotify的更多信息,请参阅此内容: