今天公司系统业务需要重启nginx报错nginx: [error] open() “/var/run/nginx.pidfailed (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-zuuleurekamysql ~]# /usr/sbin/nginx –c /etc/nginx/nginx.conf   //启动nginx (或者 nginx -c /etc/nginx/nginx.conf

[root@redis-zuuleurekamysql ~]# psef | grep nginx  //查看nginx进程

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

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

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

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

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

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

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

如图弹出以下提示 

nginx.conf syntax is ok

nginx.conf test is successful

说明配置文件正确

原文地址:https://blog.csdn.net/weixin_52998454/article/details/130440670

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_33394.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注