因此,我尝试让 apache 拥有多个子域,但是每当我尝试启动 apache 时,都会出现以下错误:
(98)Address already in use: make_sock: could not bind to address [::]:80
我尝试了以下操作来查看是否有任何东西正在使用该端口:
root@xxx:/etc/apache2# netstat -ltnp | grep ':80'
root@xxx:/etc/apache2# lsof -i tcp:80
root@xxx:/etc/apache2#
请注意,它们都没有返回任何内容。我是新手,我猜我做错了什么。这是我从 sites-available 中获取的“默认”文件:
Listen 80
<VirtualHost *:80>
ServerName www.xxx.com
DocumentRoot /srv/www/xxx.com/site
ErrorLog /srv/www/xxx.com/logs/error.log
LogLevel warn
CustomLog /srv/www/xxx.com/logs/access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerName aaa.xxx.com
DocumentRoot /srv/aaa/xxx.com/site
ErrorLog /srv/aaa/xxx.com/logs/error.log
LogLevel warn
CustomLog /srv/aaa/xxx.com/logs/access.log combined
</VirtualHost>
我尝试查看 apache 文档并浏览了其他一些论坛,但似乎我发现的所有内容都让 netstat 返回了某些内容,并且通常针对没有子域的单个站点。
任何帮助将不胜感激。
答案1
这看起来像是一个 debian-ish 系统。使用该配置,您无需将 listen 指令放入 vhost 文件中,因为它们已在 中列出/etc/apache2/ports.conf
。如果此系统不是 debian-ish 系统,只需grep -R listen /etc/apache2
找到它的定义位置即可。