Windows
Apache 配置:“沒有可用的偵聽套接字”
我正在嘗試配置 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)會告訴您這些資訊,但不會那麼清楚。