运行新项目时,端口被占用且部署旧项目的Nginx突然无法通过nginx -s quit关闭,一直报如标题所示的错误。
参考博主博文,问题主要是启动了一个Nginx后没有关闭再次启动所致,总结解决方法如下:

  1. 在Nginx的logs目录下创建一个nginx.pid文件。
  2. 通过tasklist | findstr "nginx.exe"找到Nginx所占用的两个端口,注意只写入一个主端口!(个人猜测为pid相对较大的一个端口,博文中和本人解决问题时都写入的较大者)。
  3. 通过nginx -s quit即可成功退出。
  4. 最后通过netstat -aon|findstr "9001"即可看到端口不再被Nginx代理的项目占用了,问题解决。
    总结经验:在关闭Nginx前,不要重复打开另一个Nginx,原博文复现了这种情况,重复打开两个Nginx,导致关闭一个后,另一个Nginx找不到所对应的端口,无法关闭!
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐