我正在尝试在 Apache2 中设置多个带有虚拟主机的域。当我尝试浏览我的网站时,我目前收到“无法连接”错误,每当我尝试重新启动 Apache2 时,我都会收到有关“没有可用的监听套接字,正在关闭,无法打开日志”的错误。
最初,在配置 apache2.conf 和我的 /apache2/sites-enabled/domain1.com 后,我收到 500 服务器错误,并收到来自 apache2 的警告“NameVirtualHost *:80 没有 VirtualHosts”。然后我在 ports.conf 文件中注释掉一个额外的(我认为)NameVirtualHost *:80,现在出现无法连接和没有套接字的错误。
以下是我的 apache2.conf 底部的内容:
NameVirtualHost *:80
#<VirtualHost *:80>
<IfModule mod_ssl.c>
NameVirtualHost *:443
</IfModule>
我的/apache2/sites-enabled/domain1.com:
# domain: domain1.com
# public: /home/demo/public_html/domain1.com/
<VirtualHost *:80>
# Admin email, Server Name (domain name) and any aliases
ServerAdmin [email protected]
ServerName domain1.com
ServerAlias domain1.com
# Index file and Document Root (where the public files are located)
DirectoryIndex index.html
DocumentRoot /home/demo/public_html/domain1.com/public
# Custom log file locations
LogLevel warn
ErrorLog /home/demo/public_html/domain1.com/log/error.log
CustomLog /home/demo/public_html/domain1.com/log/access.log combined
</VirtualHost>
最后,我的 ports.conf:
#NameVirtualHost *:80
#Listen 80
<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
我非常感谢您所提出的任何见解。
答案1
看起来您已经注释掉了该Listen 80
行,因此 Apache 没有监听正常http
端口。
您的其他Listen
指令位于IfModule
块内,因此如果这些模块不存在,则您已有效地将 Apache 配置为不监听任何端口,这可能是错误的根源。
尝试取消注释该行:
Listen 80
在你的 ports.conf 中。