Apache-2.2

Apache:PID 4 正在使用埠 80

  • May 4, 2017

我已經檢查了堆棧溢出的所有答案,但沒有一個工作!

我正在嘗試通過 IIS 安裝 Apache(我禁用了埠 80 和 443 上的所有 IIS 站點)。我禁用了防火牆。

但是,當我安裝 Apache 時,出現以下錯誤:

(OS 10048)
Only one usage of each socket address (protocol/network address/port) is normally permitted. : 
make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs

編輯: netstat -an|find “TCP”|find /v /c “asdadasd” 的輸出:

C:\Users\Administrator>netstat -an|find "TCP"|find /v /c "asdadasd"
172

編輯 2: sc 查詢 W3SVC 的輸出:

C:\Users\Administrator>sc query W3SVC

SERVICE_NAME: W3SVC
   TYPE               : 20  WIN32_SHARE_PROCESS
   STATE              : 1  STOPPED
   WIN32_EXIT_CODE    : 1068  (0x42c)
   SERVICE_EXIT_CODE  : 0  (0x0)
   CHECKPOINT         : 0x0
   WAIT_HINT          : 0x0

檢查是否在 0.0.0.0:80 上沒有任何監聽:

netstat -anb > netstat.txt
notepad netstat.txt

檢查是否在 apache 配置中只為 0.0.0.0 定義了一次偵聽器。搜尋Listen指令。Listen 0.0.0.0:80是一樣的Listen 80

見:http ://httpd.apache.org/docs/2.2/mod/mpm_common.html#listen

您需要找出哪個程序/服務正在使用本地伺服器上的 80 埠。一種方法是使用tcpview實用程序,它會為您提供所有打開的埠以及與該埠相關的程序的列表。在 TCPView 視窗中,按“本地埠”排序,查找埠 80,在左側窗格中您將看到該過程。這樣您就可以停止或禁用伺服器,該工具甚至可以讓您終止程序。

引用自:https://serverfault.com/questions/490585