Windows

Apache 配置:“沒有可用的偵聽套接字”

  • August 25, 2021

我正在嘗試配置 apache2(它在 Enfinity Suite 中配置),但配置似乎出了點問題。

如果我設置:

聽 86

它說:

(OS 10048)每個套接字地址(協議/網路地址/埠)通常只允許使用一次。:make_sock:無法綁定到地址 0.0.0.0:86 沒有可用的偵聽套接字,正在關閉

如果我設置:

聽 127.0.0.1:86

它說:

(OS 10013) 試圖以訪問權限禁止的方式訪問某個套接字。:make_sock: 無法綁定到地址 127.0.0.1:86 沒有可用的監聽套接字,正在關閉

如果我設置一個高於 450 的埠,比如說 Listen 127.0.0.1:8080,它會說:

(OS 10048)每個套接字地址(協議/網路地址/埠)通常只允許使用一次。:make_sock:無法綁定到地址 0.0.0.0:450 沒有可用的偵聽套接字,正在關閉

有人可以澄清發生了什麼嗎?(一些 Windows 政策?)

可能您的 apache 程序將以不同於啟動它的使用者的有效使用者執行。確保啟動它的使用者有權創建偵聽套接字(對於 <1024 的埠,這應該只是 root)。還要確保您要使用的埠尚未被佔用(使用netstat -an)。

它不知道錯誤消息的區別。

是的,您應該以 root 身份啟動 apache,它會降低自己的權限,但它必須是 root,以便它可以綁定到小於 1024 的埠,如上所述。

你也可以試試 netstat -nap | grep LISTEN 在 linux 中尋找監聽那個埠的東西, -p 會告訴你哪個程序已經綁定到那個埠。如果不使用 linux,還有其他工具(例如 lsof)會告訴您這些資訊,但不會那麼清楚。

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