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 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 的配置文件。因此直接使用这条命令是会报错的。

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐