Apache 中多个虚拟主机无法正常工作

Apache 中多个虚拟主机无法正常工作

我正在使用 Apache2、MySQL、PHP 配置 VPS。主站点运行良好。然后我创建了一个带有子域名的 Webmail。每当有人浏览时webmail.mydomain.com他或她应该有 webmail 登录屏幕。我创建了另一个虚拟主机并通过a2ensite。然后重新加载 Apache。同时,我认为重新启动 Apache 会很好,所以我重新启动了它,但它没有重新启动。然后我禁用了 webmail 虚拟主机,一切正常!

这是我的主站点的原始虚拟主机文件,

    <VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName www.mydomain.com
    ServerAlias mydomain.com www.mydomain.com
    DirectoryIndex index.html, index.php
    DocumentRoot /sites/bswapit

    LogLevel warn
    ErrorLog  /sites/bswapit/log/error.log
    CustomLog /sites/bswapit/log/access.log combined
    <Directory />
            Options FollowSymLinks
            AllowOverride ALL
    </Directory>
    <Directory /sites/bswapit/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>

    AccessFileName .htaccess

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all

    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>

这是我为 Webmail 创建的虚拟主机,

    <VirtualHost *:7640>
    ServerAdmin webmaster@localhost
    ServerName webmail.mydomain.com
    ServerAlias webmail.mydomain.com
    DirectoryIndex index.html, index.php
    DocumentRoot /sites/webmail/mail

    LogLevel warn
    ErrorLog  /sites/webmail/log/error.log
    CustomLog /sites/webmail/log/access.log combined
    <Directory />
            Options FollowSymLinks
            AllowOverride ALL
    </Directory>
    <Directory /sites/webmail/mail/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all

    </Directory>

    AccessFileName .htaccess

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>

我使用以下方式指向我的主要域名一个记录,然后使用指向子域名 webmail.mydomain.com一个记录。但每当我浏览该子域名时,它都不起作用!

我很困惑 apache 是否正在重新加载服务 apache2 重新加载它显示正常,但它不工作,我不敢重新启动服务器。有人吗?

答案1

首先,仔细检查您的 DNS 设置,确保它们正确无误。如果无法解析,请确保多个名称服务器无法访问它(尝试nslookup webmail.mydomain.com 8.8.4.4使用 Google 的名称服务器)或使用在线工具检查是否可以访问。

否则,根据您的主机,您可能能够通过这种方式进行故障排除或联系主机的技术支持,看看他们是否可以提供帮助。此时,这是 DNS 问题,而不是 Apache 导致的问题。

相关内容