将 vhost 添加到 httpd.conf 后出错 - centos

Posted

技术标签:

【中文标题】将 vhost 添加到 httpd.conf 后出错 - centos【英文标题】:Error after adding vhost to httpd.conf - centos 【发布时间】:2012-05-17 01:58:36 【问题描述】:

我在底部的 httpd.conf 中添加了以下文本:

<VirtualHost 12.34.56.78.80>
        ServerAdmin     foo@bar.com
        DocumentRoot    /var/www/html/some_dir/
        ServerName      foo-bar.example.com
        ErrorLog        /logs/foo-bar.example.com-error_log
        CustomLog       /logs/foo-bar.example.com-access_log common
</VirtualHost>

..然后在尝试运行以下命令时:

/etc/init.d/httpd restart

我收到以下错误:

[error] (EAI 2)Name or service not known: Could not resolve host name 12.34.56.78.80 -- ignoring!

请注意,此帖子的名称和 IP 地址已更改。

【问题讨论】:

我在上面添加了“NameVirtualHost 12.34.56.78.80”并解决了错误,但似乎无法启动守护进程.. 端口号的分隔符是:你需要说12.34.56.78:80 【参考方案1】:

This 是 Ubuntu 的解决方案,但思路是一样的。

【讨论】:

还需要在这一切之前添加 NameVirtualHost 12.34.56.78:80 并重新检查路径指令..【参考方案2】:

我在 CentOS 服务器上遇到了同样的问题,花了大约 1/2 天的时间进行调查。最终通过 2 个步骤解决了问题:

第 1 步

确保防火墙(iptables)不会阻塞端口 53。我添加到

/etc/sysconfig/iptables
/etc/sysconfig/ip6tables

以下几行:

-I INPUT -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -p udp -m udp --sport 53 -j ACCEPT
-I INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 53 -j ACCEPT

重启防火墙

# service iptables restart

然后重启Apache

# service httpd restart

然后我又得到了:

[error] (EAI 2)Name or service not known: Cou...

我再次重新启动了 Apache,这次主机可以解决,但不幸的是网站仍然无法运行。于是我尝试重启Apache几次,随机出现上述错误!

第 2 步

没有任何效果,所以我终于重新启动了整个服务器

# /sbin/reboot

瞧,一切都开始像魅力一样运作!

【讨论】:

【参考方案3】:

这是您的配置中的错字。

错误:&lt;VirtualHost 12.34.56.78.80&gt;

应该是:&lt;VirtualHost 12.34.56.78:80&gt;

【讨论】:

以上是关于将 vhost 添加到 httpd.conf 后出错 - centos的主要内容,如果未能解决你的问题,请参考以下文章

wamp 配置虚拟主机

虚拟主机是设置在httpd-vhosts.conf还是vhosts.conf还是httpd.conf

启用 httpd-vhosts.conf 后 WAMP 服务器未运行

如何配置虚拟主机

Plesk:通过 vhost_ssl.conf 覆盖 httpd.conf SSLCertificateFile?

在 Wamp 中设置 VirtualHost 时出错 - 服务器名称在文件 httpd-vhosts.conf 中有语法错误