nginx: [error] open() “/var/run/nginx.pid“ failed (2: No such file or directory) ./nginx -s reload报错

今天公司系统业务端需要重启nginx时 报错nginx: [error] open() "/var/run/nginx.pid" failed (2: No such file or directory)    打开"/var/run/nginx.pid"失败 或没有如此文件或目录

这是执行杀死nginx进程后 导致的pid文件丢失 。所以当我们重载nginx时会提示找不到nginx.pid文件了。nginx 被停止时,var/run/nginx.pid 被删除了。 而 reopen 和 reload命令需要通过 nginx.pid 获取进程号,会去找 var/run/nginx.pid ,如果不存在,就报错了

解决方法:

启动nginx (启动前确保nginx还没启动 启动了的话 kill -9先杀掉nginx主进程号即可)

启动格式  nginx安装目录地址 -c nginx配文件路径

说明:-c 参数指定运行nginx系统的自定义配置文件。

若加:使用自定义配置文件。

若不加:使用默认的nginx.conf(一般位于/usr/local/conf/nginx.conf,具体以实际情况为准)

[root@redis-zuul-eureka-mysql ~]# /usr/sbin/nginx -c /etc/nginx/nginx.conf   //启动nginx (或者 nginx -c /etc/nginx/nginx.conf)

[root@redis-zuul-eureka-mysql ~]# ps -ef | grep nginx  //查看nginx进程

 查看进程存在即表明启动成功  ;

再进入nginx安装目录执行nginx -s reload  就不会报错了。例如的我这里的安装目录是/usr/sbin/nginx  

[root@redis-zuul-eureka-mysql ~]# cd /usr/sbin/nginx   //进入nginx安装目录

[root@redis-zuul-eureka-mysql ~]# ./nginx -s reload    //平滑启动nginx

---------------------------------------------------------------------------------------------------------------------------------
题外话:要是平时nginx配置文件修改了的话 在重载前 最好检测下nginx.conf配置文件是否正确  可以执行以下命令

[root@redis-zuul-eureka-mysql ~]# /usr/sbin/nginx -t -c /etc/nginx/nginx.conf  //测试nginx配置文件是否正确

测试命令格式:nginx安装目录地址 -t -c nginx配文件路径

如图弹出以下提示 

nginx.conf syntax is ok

nginx.conf test is successful

说明配置文件正确。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liuxp2021

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值