nginx.pid打开失败以及失效的解决方案

目录
  • 一、问题描述
  • 二、问题出现分析
  • 三、解决方案
    • 方案1:创建目录
    • 方案2:重新指定一个配置文件
    • 方案3:修改默认的pid

一、问题描述

在我们平常使用nginx的时候,经常有可能会发现我们的pid找不到了,丢失了,这会导致一个错误,如下:

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

或者是:

nginx: [error] invalid PID number "" in "/var/run/nginx/nginx.pid"

二、问题出现分析

  • nginx.pid文件不存在;
  • nginx.pid所在的这个目录不存在。

三、解决方案

方案1:创建目录

针对问题:

尝试进入 /var/run/nginx 这个目录:

此处nginx.pid配置的目录,是在对nginx进行编译时设置的,所以具体要检测什么目录,要看你编译时候设置的是什么目录:
可以通过:nginx -V 指令进行查看

如果没有找到这个目录,就进行创建:

mkdir /var/run/nginx

此处具体在哪创建目录,也是和上面一样看你在编译时配置的是什么目录。

尝试进入新创建的目录,检查是否创建成功:

cd /var/run/nginx

进入nginx的安装目录:

cd /usr/local/nginx

获取nginx的安装目录:whereis nginx

方案2:重新指定一个配置文件

针对问题:

进入sbin:

cd /sbin

重新指定一个nginx.conf文件:

./nginx -c /usr/local/nginx/conf/nginx.conf

重新加载配置文件

./nginx -s reload

方案3:修改默认的pid

进入conf目录:

cd ../conf

修改nginx.conf文件,执行新的nginx.pid:

#pid        logs/nginx.pid;

到此这篇关于nginx.pid打开失败以及失效的解决方案的文章就介绍到这了,更多相关nginx.pid打开失败内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 重启nginx后丢失nginx.pid的解决方法

    一,nginx的停止操作 停止操作是通过向nginx进程发送信号来实现的.步骤1:查询nginx主进程号 复制代码 代码如下: ps -ef | grep nginx 在进程列表里 面找master进程,它的编号就是主进程号了. 步骤2:发送信号 从容停止Nginx:kill -QUIT 主进程号快速停止Nginx:kill -TERM 主进程号强制停止Nginx: 复制代码 代码如下: pkill -9 nginx 另外, 若在nginx.conf配置了pid文件存放路径则该文件存放的就是Ng

  • 重启或杀掉Nginx进程后丢失nginx.pid的解决办法

    安装SSL证书时,强行杀掉了Nginx的进程,就再也没起来: Restarting nginx daemon: nginxcat: /usr/local/nginx/logs/nginx.pid: No such file or directorykill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec - or kill -l [sigspec]nginx not running. 原因分析:nginx.pid丢掉了

  • nginx.pid打开失败以及失效的解决方案

    目录 一.问题描述 二.问题出现分析 三.解决方案 方案1:创建目录 方案2:重新指定一个配置文件 方案3:修改默认的pid 一.问题描述 在我们平常使用nginx的时候,经常有可能会发现我们的pid找不到了,丢失了,这会导致一个错误,如下: nginx: [error] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory) 或者是: nginx: [error] invalid PID numb

  • Nginx添加ipv6模块以及遇到问题解决方案详解(亲测有效)

    1.检查nginx是否已经包含ipv6模块 nginx -V 输出结果如果没有 ipv6则不支持,如果支持ipv6,则输出结果会包含 “--with-ipv6”. 如果不支持ipv6则需要上传Nginx包,进入目录,进行重新编译(注意用户组默认是www,可以到etc下的配置文件检查具体用户组) ( 添加用户组命令:/usr/sbin/groupadd -f www     /usr/sbin/useradd -g www www ) 进入目录,进行重新编译命令: ./configure --us

  • nginx反向代理导致session失效的问题解决

    一同事求援:后台系统的登录成功了,但不能成功登进系统,仍然跳转到登录页,但同一套代码另一个环境却没有问题. 背景 经了解,他对同一个项目使用tomcat部署了两个环境,一个在开发服务器上,一个在他本机,两个环境代码配置完全相同.两边通过同一个nginx进行反向代理,nginx配置大致如下, location /health/ { proxy_pass http://192.168.40.159:8081/health/; #无问题的配置 } location /health-dev/ { pro

  • SpringCloud Feign转发请求头(防止session失效)的解决方案

    微服务开发中经常有这样的需求,公司自定义了通用的请求头,需要在微服务的调用链中转发,比如在请求头中加入了token,或者某个自定义的信息uniqueId,总之就是自定义的一个键值对的东东,A服务调用B服务,B服务调用C服务,这样通用的东西如何让他在一个调用链中不断地传递下去呢?以A服务为例: 方案1 最傻的办法,在程序中获取,调用B的时候再转发,怎么获取在Controller中国通过注解获取,或者通过request对象获取,这个不难,在请求B服务的时候,通过注解将值放进去即可:简代码如下: 获取

  • VS Code安装go插件失败原因分析以及解决方案

    目录 问题背景 问题原因 解决方案 方案1:快速方案 方案2:环境变量中配置 方案3:vscode中配置 总结 问题背景 VSCode是我们开发go程序的常用工具,但是安装VSCode成功后,创建一个.go文件会有如下提示: 这个是vscode提示你需要安装go插件,但是当你点击install all进行安装时,发现会安装失败. Installing 8 tools at D:\pragrams\go\bin  gocode  gopkgs  go-outline  go-symbols  dl

  • Asp.Net程序目录下文件夹或文件操作导致Session失效的解决方案

    1.配置web.config <system.web> <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="

  • vue+webpack dev本地调试全局样式引用失效的解决方案

    今天遇到了奇怪的问题,在main.js中引入全局样式,在组件中引用样式时,有些样式失效,有些样式生效.但是神奇的是build打包后样式是正常的. 注册两字没有变成红色..刚开始以为是class名字命名冲突之类的,网上查了很多资料,有提到说css文件中写了中文注释引起的,试过了不行.后来把所有的样式删掉,只剩一个样式,就生效了.好了,罪魁祸首就是空格符.build打包时会有压缩,所以不会有这个问题. 进入[utils.js],添加压缩就好了 const cssLoader = { loader:

  • python 日志模块 日志等级设置失效的解决方案

    代码问题:控制台和日志的文件的等级设置要放在 logger = logging.getLogger('myloger') 实例化之后才会生效 不然就被logger默认的替代了 问题:当前日志模块的等级设置 失效 现象: console_level = "INFO" handler_level = "INFO" handler_file = logging.FileHandler(filename) handler_file.setFormatter(formatte

随机推荐