子域名 apache 问题

子域名 apache 问题

因此,我尝试让 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找到它的定义位置即可。

相关内容