Port
無法停止埠 80 上的不可見套接字
我想執行我的 Apache 伺服器,但出現此錯誤:
# /usr/sbin/httpd -k start (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down AH00015: Unable to open logs
我使用 netstat 檢查哪個程序正在使用此埠,但沒有得到響應:
# netstat -lnp | grep :80 #
在 httdp.conf 中,如果我更改監聽埠和 SSL 埠,我可以正確啟動我的伺服器(但這不是我想要的):
Listen 8080 Listen 8443 https
我得到:
# /usr/sbin/httpd -k start #
所以有一個不可見的程序在我的 80 和 443 埠上執行,我無法辨識它。我還重新啟動了伺服器,問題仍然存在。有任何想法嗎?
要回答評論中的問題:
# grep -R 'Listen' /etc/httpd Binary file /etc/httpd/modules/mod_heartmonitor.so matches Binary file /etc/httpd/modules/mod_pagespeed_ap24.so matches Binary file /etc/httpd/modules/mod_mpm_prefork.so matches Binary file /etc/httpd/modules/mod_mpm_event.so matches Binary file /etc/httpd/modules/mod_pagespeed.so matches Binary file /etc/httpd/modules/mod_mpm_worker.so matches /etc/httpd/conf.d/mod_jk.conf:Listen *:80 /etc/httpd/conf.d/mod_jk.conf:Listen *:443 /etc/httpd/conf.d/ssl.conf:Listen 443 https /etc/httpd/conf/httpd.conf:# Listen: Allows you to bind Apache to specific IP addresses and/or /etc/httpd/conf/httpd.conf:# Change this to Listen on specific IP addresses as shown below to /etc/httpd/conf/httpd.conf:#Listen 12.34.56.78:80 /etc/httpd/conf/httpd.conf:Listen 80
可能是
Listen
您的主要 httpd.conf 中包含多個指令以及從中包含的子部分conf.d/*.conf
和類似的子部分。重疊的 Listen 指令將導致致命錯誤,從而阻止伺服器啟動。