(48)地址已经在使用中:make_sock:无法在OS x Mavericks上绑定到地址[::]:80

8

我昨天刚升级了我的OSX系统,更新到Mavericks版本后,使用apache和Jetty时出现错误。

以前,我的example.com域名可以直接映射到本地主机。但现在似乎出了问题,为了运行我的应用服务器,必须明确指定端口才能访问我的服务器。(例如:example.com:8080)

当我运行以下命令时:

 sudo apachectl -e debug

我将获得

 [debug] mod_so.c(246): loaded module jk_module
(48)Address already in use: make_sock: could not bind to address [::]:80
(48)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down

我运行了许多不同的命令来杀死所有httpd进程,并找到监听该端口的端口。

ex. sudo lsof -i :80

httpd      946          root    5u  IPv6 0xe0c8ad50898bcf0f      0t0  TCP *:http (LISTEN)
httpd      947          _www    5u  IPv6 0xe0c8ad50898bcf0f      0t0  TCP *:http (LISTEN)
httpd      949          _www    5u  IPv6 0xe0c8ad50898bcf0f      0t0  TCP *:http (LISTEN)
httpd      954          _www    5u  IPv6 0xe0c8ad50898bcf0f      0t0  TCP *:http (LISTEN)
Google    1633 jignesh.sheth   59u  IPv4 0xe0c8ad508597efaf      0t0  TCP example.com:53742->stackoverflow.com:http (ESTABLISHED)
Google    1633 jignesh.sheth  189u  IPv4 0xe0c8ad5082027faf      0t0  TCP example.com:53725->stackoverflow.com:http (ESTABLISHED)

你知道我做错了什么吗?

3个回答

4

我也遇到了同样的问题,我在配置文件中删除了“Listern 80”来解决这个问题。


系统更新后,我遇到了同样的问题。我从httpd.conf中删除了Listen 80,问题得到了解决。(我真的很想知道为什么) - David Lundquist

3
我遇到了相同的错误。Apache服务器的错误日志文件在/var/log/apache*中提到“Address already in use: make_sock: could not bind to address 0.0.0.0:443”。 使用“sudo lsof -i :”命令查找运行在该端口上的进程来解决它。 杀死所有进程,然后重新运行“sudo apachectl start”。Apache服务器应该开始运行。
这可能有所帮助:https://superuser.com/questions/479146/macports-apache2-could-not-bind-to-address/479147#479147?newreg=95099c6a74724da49640329d4ee400f2

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接