nginx: [error] CreateFile() “D:\nginx-1.20.1/logs/nginx.pid“ failed (2: The system cannot find the
下载解压完nginx后,双击nginx.exe后访问http://127.0.0.1/,能够出现欢迎界面
但是在命令行关闭nginx服务时(nginx -s quit),报错nginx: [error] CreateFile() “D:\nginx-1.20.1/logs/nginx.pid” failed
根据报错信息来看,在nginx安装目录下的logs文件中找不到nginx.pid文件,去对应文件查看,发现确实没有该文件
解决办法:
在任务管理器强制关闭nginx进程,
然后再在命令行中重新用start nginx命令启动,
现在发现在nginx安装目录下的logs文件中出现了nginx.pid文件,
再用命令nginx -s quit正常关闭nginx进程,
此时无法访问http://127.0.0.1/,成功关闭nginx
原因分析:
nginx在启动或重启时要杀掉之前的nginx进程,就需要通过nginx.pid来找到原来的进程,而nginx.pid存储的就是原来的进程id。没有进程id系统就无法找到原来的nginx进程,自然就无法关闭了
之后测试无论是双击nginx.exe还是cmd命令启动nginx,都会自动在logs文件下配置nginx.pid文件,均可正常关闭。不懂为啥第一次就不行呢?