httpd:使用127.0.0.1 for ServerName无法可靠地确定服务器的完全限定域名

时间:2012-03-02 22:49:29

标签: linux apache centos

我尝试在CentOS 5.0上重新启动我的Apache服务器并收到此消息:

  

httpd:无法可靠地确定服务器的完全限定域名,使用127.0.0.1 for ServerName

以下是/etc/hosts文件:

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时,仍然会收到第一条错误消息。

11 个答案:

答案 0 :(得分:203)

如果文件夹httpd.conf中没有/etc/apache2,则应该有apache2.conf - 只需添加:

  

ServerName localhost

然后重新启动apache2服务。

答案 1 :(得分:87)

您的主机文件不包含有效的FQDN,localhost也不包含FQDN。 FQDN必须包含主机名部分以及域名部分。例如,以下是有效的FQDN:

host.server4-245.com

选择一个FQDN,并将其包含在您正在使用的IPv4和IPv6地址/etc/hosts文件中(在您的情况下为localhost127.0.0.1),并更改您的{您的httpd配置中的{1}}匹配。

/ etc / hosts中:

ServerName

的httpd.conf:

127.0.0.1    localhost.localdomain localhost host.server4-245.com
::1          localhost.localdomain localhost host.server4-245.com

答案 2 :(得分:61)

初次安装Apache服务器后,在Ubuntu 12.04(精确穿山甲)上重启Apache服务时出现以下错误

解决方案非常简单。只需将ServerName指令添加到/etc/apache2/httpd.conf

即可
sudo nano /etc/apache2/httpd.conf

添加:ServerName localhost

最后重启Apache服务器:

sudo /etc/init.d/apache2 restart

答案 3 :(得分:10)

所以虽然这个问题得到了回答和接受,但它仍然是一个热门的搜索结果,但是经过大量研究后得出的答案让我摸不着头脑,进一步深入挖掘。所以这里是我如何解决问题的快速布局。

假设我的服务器是myserver.myhome.com,我的静态IP地址是192.168.1.150:

  1. 修改hosts file

    $ 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
    
  2. 编辑httpd.conf

    $ sudo nano -w /etc/apache2/httpd.conf
    
    ServerName myserver.myhome.com
    
  3. 编辑网络

    $ sudo nano -w /etc/sysconfig/network HOSTNAME=myserver.myhome.com
    
  4. 验证

    $ hostname
    
    (output) myserver.myhome.com
    
    $ hostname -f
    
    (output) myserver.myhome.com
    
  5. 重启Apache

    $ sudo /etc/init.d/apache2 restart
    
  6. 看来差异包括myserver.myhome.com到127.0.0.1以及hosts文件中的静态IP地址192.168.1.150。在Ubuntu Server和CentOS上也一样。

答案 4 :(得分:8)

在httpd.conf中,搜索“ServerName”。它通常在Mac上默认注释掉。只需取消注释并填写即可。确保在/ etc / hosts中也设置了名称/ ip组合。

答案 5 :(得分:3)

在Apache httpd.conf文件中:

ServerName: 127.0.0.1

答案 6 :(得分:3)

确保您正在编辑正确的httpd.conf文件,然后关于不可靠服务器域名的错误应该消失(这是最常见的错误)。

要找到您的httpd.conf Apache配置文件,请运行:

apachectl -t -D DUMP_INCLUDES

然后编辑该文件并取消注释或将ServerName行更改为:

ServerName localhost

然后通过以下方式重新启动您的apache:sudo apachectl restart

答案 7 :(得分:2)

有两种方法可以解决此错误:

  1. Include /etc/apache2/httpd.conf

    在文件 /etc/apache2/apache2.conf

  2. 中添加以上行
  3. 在文件末尾添加此行 /etc/apache2/apache2.conf

    ServerName localhost

答案 8 :(得分:0)

我通过将我的服务器主机名添加到/etc/apache2/httpd.conf文件和/etc/apache2/apache2.conf文件,在不同的场合解析了完全限定的域名消息。

在终端中输入hostname -f。此查询将返回您的主机名。

然后编辑/etc/apache2/httpd.conf文件(如果由于某种原因不存在,则创建它)并添加ServerName <your_hostname>

或者,我也可以通过将ServerName <your_hostname>添加到/etc/apache2/apache2.conf文件来消除此消息。

如果一切顺利,当您重新启动Apache时,消息将消失。

答案 9 :(得分:0)

原来,我遇到了这个问题,这是因为我使用“制表符”来缩进行而不是空格。只是发布,以防万一。

答案 10 :(得分:0)

如果您使用volumeInfo.getImageLinks()编辑了/etc/apache2/httpd.conf,则可能是编辑了错误的文件。我发现的所有答案都指向该标准httpd.conf。经过一些觅食,我找到了一个很好的答案here

要找到正确的httpd.conf文件,请使用

ServerName localhost

我发现我的实际上是apachectl -t -D DUMP_INCLUDES

使用您喜欢的编辑器将以ServerName开头的行注释掉(例如,删除/usr/local/etc/httpd/httpd.conf),并为相应的域名替换域名-本地环境应该可以使用

#

我希望这可以帮助更多可能陷入困境的人。