AH00072: make_sock: 无法绑定到地址 [::]:80 (13) 权限被拒绝
AH00072: make_sock: could not bind to address [::]:80 (13)Permission denied
升级到 macOS Sierra
后,我的 Apache 无法启动。
apache 去了哪里 error_log
:
AH00112: Warning: DocumentRoot [/usr/docs/dummy-host.example.com] does not exist
AH00112: Warning: DocumentRoot [/usr/docs/dummy-host2.example.com] does not exist
AH00557: httpd: apr_sockaddr_info_get() failed for username.local
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message (13)Permission denied:
AH00072: make_sock: could not bind to address [::]:80 (13)Permission denied:
AH00072: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down*
我已经按照这些说明操作但没有成功:http://digitalshore.io/local-web-development-environment-apache-macos-sierra-10-12/
对于
中的前2条评论虚拟主机设置
httpd-vhosts.conf
对于 3,4 取消注释 ServerName 并在
中赋值
httpd.conf
ex: ServerName local_server:80
并在 /etc/hosts 中添加相同的值以通过服务器名称访问。
5,6 因为端口 80 被其他应用程序使用
sudo lsof -i:80
在我的例子中,问题是通过添加解决的:
127.0.0.1 MacBook-Air-de-xxxxxx.local
在 /etc/hosts
文件中。
找到准确的电脑名称,查看共享设置:
涉及 apr_sockaddr_info_get()
的错误可以通过为 /etc/apache2/httpd.conf
中的 ServerName
分配一个有意义的值(例如 localhost
)来解决。
使用 sudo
打开 /etc/apache2/httpd.conf
。
参考:
https://getgrav.org/blog/macos-sierra-apache-multiple-php-versions
AH00558: httpd: Could not reliably determine the server's fully qualified domain name.
您需要通过以下方式识别 httpd.conf
Apache 配置文件:
apachectl -t -D DUMP_INCLUDES
然后编辑它并取消注释带有 ServerName
的行(确保它具有有效的服务器名称)。例如
ServerName localhost
AH00072: make_sock: could not bind to address [::]:80 (13) Permission denied
您需要以 root 用户身份启动 Apache 服务,否则该进程无权绑定到端口 80,因为所有低于 1024 的端口都需要管理权限。
所以你需要 运行 作为:
sudo apachectl start
升级到 macOS Sierra
后,我的 Apache 无法启动。
apache 去了哪里 error_log
:
AH00112: Warning: DocumentRoot [/usr/docs/dummy-host.example.com] does not exist
AH00112: Warning: DocumentRoot [/usr/docs/dummy-host2.example.com] does not exist
AH00557: httpd: apr_sockaddr_info_get() failed for username.local
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message (13)Permission denied:
AH00072: make_sock: could not bind to address [::]:80 (13)Permission denied:
AH00072: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down*
我已经按照这些说明操作但没有成功:http://digitalshore.io/local-web-development-environment-apache-macos-sierra-10-12/
对于
中的前2条评论虚拟主机设置httpd-vhosts.conf
对于 3,4 取消注释 ServerName 并在
中赋值httpd.conf
ex: ServerName local_server:80
并在 /etc/hosts 中添加相同的值以通过服务器名称访问。
5,6 因为端口 80 被其他应用程序使用
sudo lsof -i:80
在我的例子中,问题是通过添加解决的:
127.0.0.1 MacBook-Air-de-xxxxxx.local
在 /etc/hosts
文件中。
找到准确的电脑名称,查看共享设置:
涉及 apr_sockaddr_info_get()
的错误可以通过为 /etc/apache2/httpd.conf
中的 ServerName
分配一个有意义的值(例如 localhost
)来解决。
使用 sudo
打开 /etc/apache2/httpd.conf
。
参考: https://getgrav.org/blog/macos-sierra-apache-multiple-php-versions
AH00558: httpd: Could not reliably determine the server's fully qualified domain name.
您需要通过以下方式识别 httpd.conf
Apache 配置文件:
apachectl -t -D DUMP_INCLUDES
然后编辑它并取消注释带有 ServerName
的行(确保它具有有效的服务器名称)。例如
ServerName localhost
AH00072: make_sock: could not bind to address [::]:80 (13) Permission denied
您需要以 root 用户身份启动 Apache 服务,否则该进程无权绑定到端口 80,因为所有低于 1024 的端口都需要管理权限。
所以你需要 运行 作为:
sudo apachectl start