首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何调试apache虚拟主机配置?

如何调试apache虚拟主机配置?
EN

Stack Overflow用户
提问于 2011-03-29 22:48:32
回答 8查看 150.3K关注 0票数 147

再一次,我的apache虚拟主机配置有问题。(使用默认配置,而不是我的特定配置)。

问题不是配置错误,而是如何解决它。

有没有人有好的建议来快速解决这类问题?

更多信息。

默认的conf文件如下:

代码语言:javascript
复制
NameVirtualHost *
<VirtualHost *>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        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 /var/log/apache2/error.log

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

        CustomLog /var/log/apache2/access.log combined
        ServerSignature On

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

不适用的虚拟主机配置是这样的:

代码语言:javascript
复制
<VirtualHost *:*>

ProxyPreserveHost On
ProxyPass / http://ip.ip.ip.ip:8088/
ProxyPassReverse / http://ip.ip.ip.ip:8088/
ServerName wiki.mydomain.com

</VirtualHost>
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-09-27 19:07:32

语法检查

要检查配置文件中的语法错误,请执行以下操作:

代码语言:javascript
复制
# Red Hat-based (Fedora, CentOS) and OSX
httpd -t

# Debian-based (Ubuntu)
apache2ctl -t

# MacOS
apachectl -t

列出虚拟主机

要列出所有虚拟主机及其位置,请执行以下操作:

代码语言:javascript
复制
# Red Hat-based (Fedora, CentOS) and OSX
httpd -S

# Debian-based (Ubuntu)
apache2ctl -S

# MacOS
apachectl -S
票数 208
EN

Stack Overflow用户

发布于 2013-08-30 05:22:35

下面是一个我认为可能会有帮助的命令:

代码语言:javascript
复制
apachectl -t -D DUMP_VHOSTS

您将获得所有vhost的列表,您将知道哪一个是默认的,并且您将确保您的语法是正确的(与yojimbo87建议的apachectl configtest相同)。

您还将知道每个vhost的声明位置。如果你的配置文件乱七八糟,它会很方便。;)

票数 30
EN

Stack Overflow用户

发布于 2013-06-09 19:15:10

如果您正在尝试调试您的虚拟主机配置,您可能会发现Apache -S命令行开关很有用。也就是说,键入以下命令:

代码语言:javascript
复制
httpd -S

此命令将转储Apache如何解析配置文件的描述。仔细检查IP地址和服务器名称可能有助于发现配置错误。(有关其他命令行选项,请参阅httpd程序的文档)。

票数 26
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5474477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档