Nginx中logs的nginx.pid文件引发的问题

Nginx中logs的nginx.pid文件引发的问题

    • Q1:nginx: [error] CreateFile() "D:\software\nginx-1.22.1/logs/nginx.pid" failed (2: The system cannot find the file specified)
    • Q2:nginx: [error] invalid PID number "" in "D:\software\nginx-1.22.1/logs/nginx.pid"
    • Q3:新启动的nginx的nginx.pid会覆盖旧的nginx.pid

Q1:nginx: [error] CreateFile() “D:\software\nginx-1.22.1/logs/nginx.pid” failed (2: The system cannot find the file specified)

想要停止nginx应用,发现控制台提示上面的报错,找不到nginx.pid

A1:那么我们就在nginx的安装目录下的logs文件夹中创建nginx.pid文件

Q2:nginx: [error] invalid PID number “” in “D:\software\nginx-1.22.1/logs/nginx.pid”

想要停止nginx应用,发现控制台提示上面的报错,这个说明我们新创建的nginx.pid中没有找到nginx的PID。

A2:所以我们找到nginx的pid,并且填入nginx.pid文件中即可。

tasklist /fi "imagename eq nginx.exe"

这里如何找到nginx的pid,参考在 Windows 中关闭 Nginx 所有进程_windows 怎么关闭nginx-CSDN博客

找nginx的pid时,我们可能会遇到多个pid,不知道如何选择时,可以参考Windows下nginx报错解决:CreateFile() “xxx/logs/nginx.pid” failed

最后附上nginx.pid的格式
在这里插入图片描述
Nginx中logs的nginx.pid文件引发的问题_第1张图片
没错,就是守护线程的pid。我一开始还以为像MySQL那样需要[mysqld]这种配置,结果人家简简单单。

Q3:新启动的nginx的nginx.pid会覆盖旧的nginx.pid

Nginx中logs的nginx.pid文件引发的问题_第2张图片
我在Q2中的4852还没关闭,又启动了一次nginx,导致我查询的时候发现四个pid。但是查看logs文件夹下的nginx.pid时,发现4852不见了,取而代之的是新pid。
Nginx中logs的nginx.pid文件引发的问题_第3张图片
因此如果没有仔细检查的话,接下来的各种操作可能会一直报错。

你可能感兴趣的:(运维,nginx,运维)