httpd:无法可靠地确定服务器的完全限定的域名,使用ServerName的127.0.0.1
我试图在CentOS 5.0上重启我的Apache服务器,并得到这个消息:
httpd:无法可靠地确定服务器的完全限定的域名,使用ServerName的127.0.0.1
这是/etc/host file
:
127.0.0.1 server4-245 server4-245.com localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6
这里是/etc/sysconfig/network
文件:
NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=server4-245
我也在Apache的httpd.conf文件中有这个:
ServerName localhost
但是,当我重新启动Apache时,仍然收到第一条错误消息。
您的主机文件不包含有效的FQDN, localhost
也不包含FQDN。 FQDN必须包含主机名部分以及域名部分。 例如,以下是有效的FQDN:
host.server4-245.com
select一个FQDN并将其包含在您的/etc/hosts
IPv4 / IPv6地址(在您的情况下, localhost
或127.0.0.1
)上的/etc/hosts
文件中,然后在您的httpdconfiguration中将您的ServerName
更改为匹配。
/ etc / hosts中:
127.0.0.1 localhost.localdomain localhost host.server4-245.com ::1 localhost.localdomain localhost host.server4-245.com
httpd.conf中:
ServerName host.server4-245.com
如果你在文件夹/etc/apache2
没有httpd.conf
,你应该有一个apache2.conf – 只需添加:
ServerName localhost
然后重新启动apache2
服务。
在Apache服务器初始安装之后,在Ubuntu 12.04 (Precise Pangolin)上重新启动Apache服务时出现以下错误,
解决scheme非常简单。 只需将ServerName
指令添加到/etc/apache2/httpd.conf
:
sudo nano /etc/apache2/httpd.conf
添加: ServerName localhost
最后重启Apache服务器:
sudo /etc/init.d/apache2 restart
所以当这个答案被接受的时候,它仍然是一个顶级的search结果,尽pipe(经过大量的研究)的答案,让我挠脑袋,进一步挖掘。 所以这里是我如何解决问题的快速布局。
假设我的服务器是myserver.myhome.com,我的静态IP地址是192.168.1.150:
-
编辑主机文件
$ sudo nano -w /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 127.0.0.1 myserver.myhome.com myserver 192.168.1.150 myserver.myhome.com myserver ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 ::1 myserver.myhome.com myserver
-
编辑httpd.conf
$ sudo nano -w /etc/apache2/httpd.conf ServerName myserver.myhome.com
-
编辑networking
$ sudo nano -w /etc/sysconfig/network HOSTNAME=myserver.myhome.com
-
校验
$ hostname (output) myserver.myhome.com $ hostname -f (output) myserver.myhome.com
-
重新启动Apache
$ sudo /etc/init.d/apache2 restart
它出现的差异是包括myserver.myhome.com
同时在hosts文件中的127.0.0.1以及静态IP地址192.168.1.150。 在Ubuntu服务器和CentOS上也一样。
在httpd.conf中,search“ServerName”。 它通常在Mac上被默认注释掉。 只需取消注释并填写即可。请确保您还在/ etc / hosts中设置了名称/ IP组合。
在Apache httpd.conf
文件中:
ServerName: 127.0.0.1
有两种方法可以解决这个错误:
-
Include /etc/apache2/httpd.conf
在文件/etc/apache2/apache2.conf中添加上面的行
-
在文件/etc/apache2/apache2.conf的最后添加这行:
ServerName localhost
我通过将服务器主机名添加到/etc/apache2/httpd.conf文件和/etc/apache2/apache2.conf文件来解决完全限定的域名消息。
在terminal中inputhostname -f
。 这个查询将返回你的主机名。
然后编辑/etc/apache2/httpd.conf
文件(或者在出于某种原因不存在的情况下创build它)并添加ServerName <your_hostname>
。
或者,我也可以通过将ServerName <your_hostname>
添加到/etc/apache2/apache2.conf
文件中来消除该消息。
如果一切顺利的话,当你重新启动Apache时,消息将会消失。
大多数答案build议只将ServerName localhost
添加到/etc/apache2/apache2.conf
。
但是引用Apache文档 :
此错误消息的出现还表明Apache httpd无法通过对您的服务器的IP地址进行反向查找来获取完全限定的主机名。 虽然上述说明在任何情况下都会摆脱警告,但修复名称parsing也是一个好主意,以便反向映射能够正常工作。
因此,将这样的行添加到/etc/hosts
可能是一个更强大的解决scheme:
192.0.2.0 foobar.example.com foobar
其中192.0.2.0是example.com
域中名为foobar
的服务器的静态IP地址。
人们可以检查FQDN例如
hostname -A
( hostname --all-fqdn
快捷方式hostname --all-fqdn
)。