在 nginx 中重新加载命令时出现“没有这样的文件或目录”错误

Mig*_*uel 3 nginx

发出命令时

# nginx -s reload
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

nginx: [error] open() "/run/nginx.pid" failed (2: No such file or directory)

我不明白这个消息——它的原因是什么?

Vla*_*kov 5

所述nginx -s reload共同发送reload信号到当前运行的nginx过程。首先,nginx 尝试查找应该位于的 PID 文件/run/nginx.pid(我猜,此路径显示在您的nginx.conf. 其次,nginx 尝试从该文件中读取当前正在运行的 nginx 进程的 PIDHUP并向该进程发送信号(这是重新加载配置的请求)。

在您的情况下,nginx 找不到/run/nginx.pid文件。可能有两个原因:1.当前没有运行nginx进程,2.PID文件位于不同的位置而不是路径,如图所示nginx.conf

您应该检查 nginx 进程是否存在,例如,您可以使用ps aux | grep nginx. 如果没有任何 nginx 进程,那么这就是您问题的答案。此外,您应该检查配置文件中 PID 文件的路径。