Nginx80端口被System占用如何解决

问题:

  1. 运行netstat -ano发现80端口被pid=4的进程占用
  2. 打开任务管理器,发现pid=4的进程,其实是system进程,其对应的进程描述是NT kernel & system。

解决方法 一:

http协议里的某个进程占用了80,但是在任务管理器显示的是System,是http协议的某个进程占用(这个进程是无法停止的,只有在cmd.exe里使用net stop http来停止):

  • win + r 输入 cmd启动命令行;
  • 在命令行输入netstat -ano可以查询到所有端口的使用情况;
  • 如图所示,端口已经被占用,PID 中写明 LISTENING 4;
  • 通过任务管理器找到对应的 PID=4的程序,是 System,并且无法用任务管理器的方法结束任务。
  • 使用net stop http来停止;
  • 按y确定继续;
到这里大部分人都成功了就不需要再继续下面内容 直接启动nginx.exe就可以了
  • 在网上搜索发现有些不能成功停止,显示HTTP服务无法停止,使用管理员方式再试试,还是无法停止,先不管
  • 输入 Sc config http start= disabled
  • 重启
  • 测试,PID4还是启动的。但是80已经不被占用了。发现445端口被PID4 占用的。

解决方法 二:

  1. cmd界面输入查询命令
  2. netstat -ano|findstr 80
  3. 查询0.0.0.0:80最后是被哪个线程占用
  4. 去任务管理器结束相应线程
  5. system怎么精简 system进程怎么关闭_运维

  6. 如果是被系统进程占用,结束不了,去注册表这个路径
    计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTPStart的值改为0保存并重启电脑
  7. system怎么精简 system进程怎么关闭_nginx_02

  8. 如果还是没解决,在此电脑右键,点击管理,进入服务,找到SQL Server ReportingServices (SQLEXPRESS)
  9. system怎么精简 system进程怎么关闭_system怎么精简_03

  10. 把它停止并改为手动运行,nginx软件就能启动成功了

解决方法如下图:

system怎么精简 system进程怎么关闭_linux_04


system怎么精简 system进程怎么关闭_服务器_05