当我们想用 Apache 或者 nginx 等搭建服务器时,有时候系统的80端口已被占用,而我们又不想换端口。
下面说说作者遇到的一种情况:
作者电脑系统的版本如下:
系统几乎等于新安装,没有配置过IIS,也没安装过 Apache 或者 nginx 等服务器
众所周知,在 cmd 使用 netstat -ano|findstr “80” 命令可以查看究竟那个进程占用了 80端口
如下图所示,80端口 被PID为4的进程所占用
使用 tasklist|findstr “4” 命令,查看PID为4的进程,得知实际上是System,显然是系统进程,不能停掉的
下面使用 netsh http show servicestate 命令查看 HTTP 服务状态快照
出来很多信息,往下拉得如下图:
很可能被进程ID为3664的程序占用80端口了
打开“Windows任务管理器”,点击“进程”选项卡(默认没有PID列,在 查看 -> 选择列 里勾选 “PID(进程标识符)”),找到PID为3664的进程
右键,点“转到服务”,后如下图:
注意“描述”列的值
win键 + R转到运行窗口,services.msc 命令转到“服务”窗口
找到名称为 SQL Server Reporting Services (SQLEXPRESS) 的服务,如下图:
右键点击 “停止”
然后再右键点击“属性”,如下图:
将启动类型改为“手动”
到目前为止,已成功取消 80端口 的占用,如下图检查一下:
80端口已无占用