关于搭建nginx重启后失效报错无法打开nginx.pid

搭建好nginx服务器后如果重启服务器

再次启动或者重启nginx时会报错,提示:

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

解决:在var/run/下建立一个文件夹命名为nginx【个人意见】如果提示找不到nginx.pid但不同于以上(可尝试复制一个pid文件到文件夹下,未验证,拷贝位置/var/run/nginx/nginx.pid)

然后重启nginx服务即可。(但每次服务器重启后,var/run/nginx,nginx这个文件夹都会被删除,故每次都要新建文件夹,很麻烦)

以下是永久修改的办法。(CentOS7亲测可用)

首先,修改nginx.conf文件,并保存退出。

[root@localhost ~]# vi /usr/local/nginx/conf/nginx.conf

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;(把#删除)

其次,在/usr/local/nginx目录下建立logs文件夹,把/var/run/nginx/nginx.pid这里面的这个nginx.pid拷贝到这个logs文件夹下面,然后把logs这个文件夹在conf下也拷贝一份。

然后:

[root@localhost ~]# chmod 755 logs 

[root@localhost ~]# chmod 755 nginx.pid

最后重启nginx服务。(至此重启服务器也不会报该错误)

原文地址:https://www.cnblogs.com/Zlcode/p/8280598.html