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

时间:2013-10-24 20:37:27

标签: apache mod-jk osx-mavericks

我昨天刚刚与Mavericks更新了我的OSX,现在我在使用apache和Jetty时遇到错误。  它曾经将我的example.com域直接映射到localhost。

现在看来,运行我的应用程序服务器我必须明确指定端口来命中我的服务器。(例如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

我运行了很多diff命令来杀死所有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 个答案:

答案 0 :(得分:4)

我也一样,我从配置文件中删除了'Listern 80'来解决这个问题。

答案 1 :(得分:3)

我有同样的错误。 Apache服务器的错误日志文件位于/ var / log / apache * /提及"地址已在使用中:make_sock:无法绑定到地址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 :(得分:2)

我遇到了同样的问题。

我所做的是将“username.conf”的权限从用户目录更改为644,如本教程中所述

http://www.coolestguidesontheplanet.com/downtown/get-apache-mysql-php-and-phpmyadmin-working-osx-109-mavericks