将 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】:这是您的配置中的错字。
错误:<VirtualHost 12.34.56.78.80>
应该是:<VirtualHost 12.34.56.78:80>
【讨论】:
以上是关于将 vhost 添加到 httpd.conf 后出错 - centos的主要内容,如果未能解决你的问题,请参考以下文章
虚拟主机是设置在httpd-vhosts.conf还是vhosts.conf还是httpd.conf
启用 httpd-vhosts.conf 后 WAMP 服务器未运行
Plesk:通过 vhost_ssl.conf 覆盖 httpd.conf SSLCertificateFile?
在 Wamp 中设置 VirtualHost 时出错 - 服务器名称在文件 httpd-vhosts.conf 中有语法错误