发出命令时
# nginx -s reload
我收到以下错误:
nginx:[error] open()" /run/nginx.pid"失败(2:没有这样的文件或目录)
我不明白这个消息 - 它是什么原因?
答案 0 :(得分:4)
nginx -s reload
co向当前正在运行的nginx进程发送reload
信号。
首先,nginx尝试找到PID文件,该文件应位于/run/nginx.pid
(我猜,此路径显示在nginx.conf
中)。
其次,nginx尝试从该文件读取当前运行的nginx进程的PID,并向该进程发送HUP
信号(它是重新加载配置的请求)。
在您的情况下,nginx无法找到/run/nginx.pid
文件。这可能是由两个原因造成的:1。当前没有正在运行的nginx进程,2。PID文件位于不同的位置而不是路径,如nginx.conf
所示。
您应该检查是否存在nginx进程,例如,您可以使用ps aux | grep nginx
。如果没有任何nginx进程,那么这就是你的问题的答案。此外,您应该检查配置文件中PID文件的路径。
答案 1 :(得分:0)
我通过删除nginx.pid
中的/usr/local/var/run
来解决它