近日發(fā)現(xiàn)Apache無故啟動失敗,檢查log也無果,通過manual啟動提示以下錯誤:
(OS 10048)通常每個套接字地址(協(xié)議/網(wǎng)絡(luò)地址/端口)只允許使用一次。: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
這是由于80端口被占用了,把占用80端口的進程停掉就可以了。
如何查看那個進程占用了80端口呢?
開始--運行--cmd 進入命令提示符 輸入netstat -ano 即可看到所有連接的PID 之后在任務(wù)管理器中找到這個PID所對應(yīng)的程序如果任務(wù)管理器中沒有PID這一項,可以在任務(wù)管理器中選"查看"-"選擇列"
經(jīng)常,我們在啟動應(yīng)用的時候發(fā)現(xiàn)系統(tǒng)需要的端口被別的程序占用,如何知道誰占有了我們需要的端口,很多人都比較頭疼,下面就介紹一種非常簡單的方法
假如我們需要確定誰占用了我們的80端口
Windows平臺
在windows命令行窗口下執(zhí)行:
C:>netstat -aon|findstr "80"
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448
看到了嗎,端口被進程號為2448的進程占用,繼續(xù)執(zhí)行下面命令:
C:>tasklist|findstr "2448"
Skype.exe 2016 Console 0 16,064 K
原來是Skype占用了80端口,因為前段時間國外MSN停止服務(wù),公司內(nèi)部也跟著轉(zhuǎn)用Skype在線溝通,安裝了Skype,由于當時沒有啟動Apache,所以80端口就被Skype趁虛而入。
在Skype的菜單“工具>選項”中,找到“高級>連接”,將“將80端口與443端口作為接入設(shè)備的備用端口”的勾去掉,這樣就不占用80端口了。
或者將Apache的端口改為其他,如8080等,也可以解決問題。
新聞熱點
疑難解答
圖片精選