我們在Windows上使用AppServ架設網頁服務時,有時候會發現Port 80被佔用,導致無法啟動的狀況。
面對這樣子的窘境,可以參照以下步驟來執行:
- 開啟命令提示字元視窗,輸入以下指令:netstat –ano ,找出佔用Port 80的程式PID
- 開啟「工作管理員」,到「處理程序」標籤,按上方的「檢視」→「選擇欄位」,把PID選項勾選起來。
- 看看是哪一個Service佔用了80 Port? 就處理處理一下吧。
一般而言,最常發生Skype佔用80 Port的狀況,若發生此狀況,請參考這邊的解決辦法。
倘若發現PID = 4,且來源是NT Kernel佔用的話,請別急著把它砍掉。
請下達以下指令:
- net stop http
- Sc config http start= disabled
(注意,這一行請完整複製,大小寫與空格都有差異)
完成後,最好重新開機一下,這樣子問題應該就解決了。
參考資源
請問下被NT Kernel佔用,您輸入那2行的用意是什麼
回覆刪除謝謝
這代表先停用http服務,讓系統把跟http服務(不見得是來自apache) 占用的port釋放。第二行則是把自動啟動服務關閉。
回覆刪除請問一下,停用http.sys服務後,無法開啟列印多工緩衝處理(依存在http.sys服務)所以無法安裝列表機驅動程式,要如何重新開啟http.sys服務而不影響apache正常運作?謝謝你!
回覆刪除再次 net stop http
刪除Sc config http start= delayed-auto
重新開機
謝謝回覆喔!
刪除謝謝Cash的回覆,
回覆刪除當輸入net stop http時,因為http已經被停掉了,所以顯示
尚未啟動HTTP Service服務,
詳細資料,請輸入 NET HELPMSG 3521.
當輸入Sc config http start= delayed-auto時,顯示:
[SC] OpenService 無法 5:
存取被拒絕.
請問下一步要如何開啟http服務?
我用這個方法解決了,要用管理員的方式開啟
刪除http://answers.microsoft.com/zh-hant/windows/forum/windows_7-security/%E6%83%B3%E9%96%8B%E5%95%9Fadministrator%E5%8F%AF/7bb3199d-14a5-4b22-aae6-959a1483a0ec?auth=1
可以用這個方法
刪除到執行打開regedit,找到:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP
在右邊找到start,將原來4改成0,重新開機就OK了!
謝謝樓上幾位的分享。
刪除我的經驗win10
回覆刪除net stop http 關了SSDP和print spooler
但是沒用,因為這兩個根本沒占用80
後來是關了IIS, 80port才被釋放
WIN10之所以會佔用80 PORT是因為其 World wide web Publishing服務佔用掉80 PORT, 只要進”服務”把"World wide web Publishing服務" 停止並停用即可.
回覆刪除