Issure: Windows 80 端口被佔用

0.首先:
netstat -ano | findstr “80”

查看佔用端口的進程

1.一般應用程序佔用, 直接 taskkill /pid xxx /f 結束進程即可
2. system 的 service佔用
2.1 pid 4 系統和壓縮內存佔用 進程佔用
2.1.1
直接以系統管理員身份運行 cmd

執行停止http 服務操作
net stop http

執行修改啓動項操作
sc config http start=disabled

2.1.2
出現HTTP 服務正在停止…
無法停止 HTTP 服務。
如果再次運行“NET STOP HTTP”命令,會顯示以下消息:
服務正在啓動或停止中,請稍後重試。

參考https://support.microsoft.com/zh-cn/kb/2597817
核心是執行如下PowerShell腳本(fix.ps1)

$bFoundHttp = $false
$msdepsvc = Get-Service -name MsDepSvc
$reqsvcs = "HTTP"
$msdepsvc.ServicesDependedOn | ForEach-Object `
{
if($_.Name -eq "HTTP")
    {
$bFoundHttp = $true
    }
else
    {
if($_.Name -ne "")
 {
$reqsvcs += "/" + $_.Name
 }
    }
}
if ($bFoundHttp -eq $false)
{
$status = $msdepsvc.Status
if($status -eq "Running")
    {
Stop-Service -name MsDepSvc
    }

sc.exe config MsDepSvc depend= $reqsvcs
if($status -eq "Running")
    {
Start-Service -name MsDepSvc
    }
}

2.1.3
執行腳本時發現 MsDepSvc服務不存在

2.1.4
最後大殺器
直接在控制面板->卸載或更改程序->啓用或關閉Windows功能
找到Internet Information Services, 卸載掉(勾掉)全部的萬維網服務
(重啓生效)

2.2
服務裏的SQL Server Reporting Services 可能會佔用80端口, 禁掉它

2.3

打開RegEdit:開始-運行-輸入regedit-調出註冊表
找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP
找到一個DWORD值Start,將其改爲0
重啓電腦,System進程將不會佔用80端口

2.1, 2.2, 2.3可以互相參考使用
測試環境Windows10

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章