Dos窗口nginx -s quit异常:The system cannot find the file specified

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

背景:

Windows +r  cmd  进入dos窗口
进入nginx安装目录,nginx start命令启动nginx ,浏览器上访问时出现无法访问
回到dos中使用nginx -s quit 关闭nginx,dos抛出标题错误信息
网上有人说在任务管理器中关闭nginx进程,再创建nginx.conf文件等等。。
打开任务管理器,发现没有nginx进程运行,而nginx.conf文件本身就存在,再次nginx -s quit,依然报错:

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

错误定位:

dos窗口进入nginx 安装目录,输入nginx 命令
在这里插入图片描述
抛出一个新的错误
[emerg] 1448#21492: bind() to 0.0.0.0:8082 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)
该错误说明nginx启动失败,nginx代理的8082端口已被其他程序占用。 解决方案有两个:
解决方案一:改nginx代理的端口号(其他端口也有一定几率被占用了,不保险)
解决方案二:.找到占用8082端口的程序,关闭该程序

我的是qq.exe可执行文件占用了该端口,关闭后问题就解决了,再写此博客。因此写的时候端口已经是好的了,不能以截图复现问题,只能文字描述

解决方案二:

  1. netstat -aon | findstr :8082 (找到占用8082端口的任务)
  2. tasklist | findstr “12345” (找到任务id为12345的可执行文件)
  3. 找到后在任务管理器中关闭
  4. nginx start重启nginx,启动成功(查看任务管理器中有nginx.exe的可执行文件运行)
    在这里插入图片描述
  5. 再次执行:nginx -s quit 命令,不报错

你可能感兴趣的:(nginx技术篇)