Web伺服器:Skype佔用80埠,導致Apache啟動不了

gaorongchao1990626發表於2013-07-13

近日發現Apache無故啟動失敗,檢查log也無果,通過manual啟動提示以下錯誤:

(OS 10048)通常每個套接字地址(協議/網路地址/埠)只允許使用一次。 : 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 之後在工作管理員中找到這個PID所對應的程式如果工作管理員中沒有PID這一項,可以在工作管理員中選"檢視"-"選擇列"

經常,我們在啟動應用的時候發現系統需要的埠被別的程式佔用,如何知道誰佔有了我們需要的埠,很多人都比較頭疼,下面就介紹一種非常簡單的方法
假如我們需要確定誰佔用了我們的80埠

Windows平臺
在windows命令列視窗下執行:
C:\>netstat -aon|findstr "80" 
TCP     127.0.0.1:80         0.0.0.0:0               LISTENING       2448
看到了嗎,埠被程式號為2448的程式佔用,繼續執行下面命令:
C:\>tasklist|findstr "2448" 
Skype.exe                     2016 Console                 0     16,064 K
原來是Skype佔用了80埠,因為前段時間國外MSN停止服務,公司內部也跟著轉用Skype線上溝通,安裝了Skype,由於當時沒有啟動Apache,所以80埠就被Skype趁虛而入。


在Skype的選單“工具>選項”中,找到“高階>連線”,將“將80埠與443埠作為接入裝置的備用埠”的勾去掉,這樣就不佔用80埠了。

或者將Apache的埠改為其他,如8080等,也可以解決問題。

相關文章