nginx: [error] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory) 解决办法
nginx启动报错:nginx: [error] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory) 的解决办法问题: 重启虚拟机后,再次重启nginx会报错:nginx: [error] open() "/var/run/nginx/nginx.pid" failed (2: No su...
问题:
重启虚拟机后,再次重启nginx会报错: nginx: [error] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory) ,即 Nginx 在 /var/run/nginx/ 目录下找不到 nginx.pid 文件
分析:
Nginx在启动时会自动创建nginx.pid文件来保存Nginx运行时的进程 pid 信息,如果找不到 /var/run/nginx/nginx.pid,则说明 /var/run/nginx/ 这个路径可能不存在。
解决方式有三种:
第一种方式:创建默认目录 /var/run/nginx/ ;
第二种方式:修改 nginx.conf 文件,指定 pid文件 所在目录。
(1)进入 cd /usr/local/nginx/conf/ 目录,编辑配置文件nginx.conf ;
(2)在配置文件中有个注释的地方: #pid logs/nginx.pid;
(3)将注释放开,并修改为:pid /usr/local/nginx/logs/nginx.pid;

(4)在 /usr/local/nginx 目录下创建 logs 目录:mkdir /usr/local/nginx/logs
(5)再次启动nginx服务:cd /usr/local/nginx/sbin/ 问题解决
第三种方式:操作失误,nginx还未启动,直接使用了重启的命令: nginx -s reload
nginx.pid只有在 nginx 启动时才会创建,而 nginx -s reload 实际上不会重启 nginx 服务器,只会重新加载 nginx 的配置文件。因此直接使用这条命令是会报错的。
更多推荐



所有评论(0)