两天前我在Mac High Sierra上做了最新的更新,之后我无法在端口80上启动apache。我一直在接受
(48)已在使用的地址:AH00072:make_sock:无法绑定到地址[::]:8080(48)已在使用的地址:AH00072:make_sock:无法绑定到地址0.0.0.0:8080没有可用的侦听套接字,关闭AH00015:无法打开日志
我使用sudo lsof -i TCP检查端口80上运行的是什么:80:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 15116 root 4u IPv6 0xe9c01ec682a44c67 0t0 TCP *:http
(LISTEN)
httpd 15387 _www 4u IPv6 0xe9c01ec682a44c67 0t0 TCP *:http
(LISTEN)
httpd 15388 _www 4u IPv6 0xe9c01ec682a44c67 0t0 TCP *:http
(LISTEN)
和sudo lsof -i TCP:8080:
httpd 11689 daemon 4u IPv6 0xe9c01ec68ff9f6a7 0t0 TCP
*:http-alt (LISTEN)
httpd 11690 daemon 4u IPv6 0xe9c01ec68ff9f6a7 0t0 TCP
*:http-alt (LISTEN)
httpd 11691 daemon 4u IPv6 0xe9c01ec68ff9f6a7 0t0 TCP
*:http-alt (LISTEN)
httpd 11744 daemon 4u IPv6 0xe9c01ec68ff9f6a7 0t0 TCP
*:http-alt (LISTEN)
当我点击localhost时:8080我得到了
EnterpriseDB
Apache - version 2.4.12
PHP - version 5.5.26
Server is up and running
The default Apache context is www in the Apache installation folder
然后尝试使用sudo kill -9 portId杀死端口8080上的相关进程,但没有运气。
最后但并非最不重要的我想提一下,在/etc/apache2/httpd.conf更新之前,我有:
<IfDefine SERVER_APP_HAS_DEFAULT_PORTS>
Listen 8080
</IfDefine>
<IfDefine !SERVER_APP_HAS_DEFAULT_PORTS>
Listen 80
</IfDefine>
一切都很好,直到更新..
任何帮助表示赞赏。
我附上了@IvanHušnjak所指出的我在31/07/2018得到的东西
运行sudo lsof -i TCP:80我绝对没有回来
运行sudo lsof -i TCP:8080返回:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 7470 root 4u IPv6 0xe7c340f978e197b1 0t0 TCP *:http-alt (LISTEN)
httpd 7481 daemon 4u IPv6 0xe7c340f978e197b1 0t0 TCP *:http-alt (LISTEN)
httpd 7483 daemon 4u IPv6 0xe7c340f978e197b1 0t0 TCP *:http-alt (LISTEN)
httpd 7484 daemon 4u IPv6 0xe7c340f978e197b1 0t0 TCP *:http-alt (LISTEN)
我的猜测是MaxOS内部apache服务器在更新到10.13.5之后已经超过对端口80的控制,但是我通过卸载来解决这个问题,就像在这里找到的这些旧答案中所解释的那样https://stackoverflow.com/a/46720652/555097和这里https://stackoverflow.com/a/11720851/555097
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist