apache启动报错,Apache启动不了httpd

作者: 贝博体育app网络  发布:2019-11-04

httpd: apr_sockaddr_info_get() failed for hoteel
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
我在service httpd restart的时候提示上述信息的。虽然启动成功了,但是也是很郁闷的。
这是因为我在配置DNS的时候hostname hoteel造成的。
重新hostname localhost就可以了。
我在网上找来一些有关这方面的信息,就顺便贴在这里了。
1
在启动 httpd 时出现
Starting httpd: httpd: apr_sockaddr_info_get() failed for MYHOST
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName.
这个问题应该是没有在 /etc/httpd/conf/httpd.conf 中设定 ServerName 所以它会用主机上的名称来取代,首先会去找 /etc/hosts 中有没有主机的定义。
所以要解决这个问题可以设定 ServerName 或者在 /etc/hosts 中填入自己的主机名称 MYHOST,像这样:
>vi /etc/hosts
127.0.0.1 localhost.localdomain localhost MYHOST

重启apache:
service httpd restart
虽然重启成功,但却给出如下的提示信息:
httpd: apr_sockaddr_info_get() failed for hoteel
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

2
在Linux下安装完Apache 2.2.6,启动HTTP服务就报错,似乎不影响服务的使用,但是也挺别扭的。

究其原因是因为在配置DNS的时候hostname hoteel造成的,重新hostname localhost就可以了。

[root@linux http]# ./apachectl start
httpd: apr_sockaddr_info_get() failed for linux(在BSD上是apr_sockaddr_info_get() failed for freebsdla)
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

**附:网上找到的相关文章

经分析发现是apache的conf目录下的配置文件httpd.conf中关于hostname设置和/etc/sysconfig/network中的HOSTNAME设置不统一导致的,修改成统一的主机名即可解决该问题。

**1、在启动 httpd 时出现
Starting httpd: httpd: apr_sockaddr_info_get() failed for MYHOST
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName.
这个问题应该是没有在 /etc/httpd/conf/httpd.conf 中设定 ServerName 所以它会用主机上的名称来取代,首先会去找 /etc/hosts 中有没有主机的定义。
所以要解决这个问题可以设定 ServerName 或者在 /etc/hosts 中填入自己的主机名称 MYHOST,像这样:
>vi /etc/hosts
127.0.0.1 localhost.localdomain localhost MYHOST

注:/etc/sysconfig/network 默认主机名是:HOSTNAME=localhost.localdomain

2、在Linux下安装完Apache 2.2.6,启动HTTP服务报错
[root@linux http]# ./apachectl start
httpd: apr_sockaddr_info_get() failed for linux(在BSD上是apr_sockaddr_info_get() failed for freebsdla)
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

PS:网上有这种办法,似乎是没用的,因为我认为apache在编译安装过程中会编译ARP的,因此下述操作有点多余。

经分析发现是apache的conf目录下的配置文件httpd.conf中关于hostname设置和/etc/sysconfig/network中的HOSTNAME设置不统一导致的,修改成统一的主机名即可解决该问题。

apr 和apr-util包含在Apache httpd的发行源代码中,并且在绝大多数情况下使用都不会出现问题。当然,如果apr或apr-util的1.0或1.1版本已经安装在你的系统中了, 则必须将你的apr/apr-util升级到1.2版本,或者将httpd单独分开编译。要使用发行源代码中自带的apr/apr-util源代码进行安 装,你必须手动完成:

注:/etc/sysconfig/network 默认主机名是:HOSTNAME=localhost.localdomain

# 编译和安装 apr 1.2

PS:网上有这种办法,似乎是没用的,因为我认为apache在编译安装过程中会编译ARP的,因此下述操作有点多余。

apr
./configure --prefix=/x/httpd/apr
make
make install

apr 和apr-util包含在Apache httpd的发行源代码中,并且在绝大多数情况下使用都不会出现问题。当然,如果apr或apr-util的1.0或1.1版本已经安装在你的系统中了, 则必须将你的apr/apr-util升级到1.2版本,或者将httpd单独分开编译。要使用发行源代码中自带的apr/apr-util源代码进行安 装,你必须手动完成:

apr-util
./configure --prefix=/x/httpd/apr_util --with-apr=/x/httpd/apr
make
make install

复制代码 代码如下:

apache
./configure --prefix=/x/httpd/apache2
--enable-so
--enable-cgi
--enable-rewrite
--enable-mods-shared=all
--with-apr=/x/httpd/apr
--with-apr-util=/x/httpd/apr_util

# 编译和安装 apr 1.2
apr
./configure --prefix=/x/httpd/apr
make
make install
apr-util
./configure --prefix=/x/httpd/apr_util --with-apr=/x/httpd/apr
make
make install
apache
./configure --prefix=/x/httpd/apache2
--enable-so
--enable-cgi
--enable-rewrite
--enable-mods-shared=all
--with-apr=/x/httpd/apr
--with-apr-util=/x/httpd/apr_util
LDFLAGS="-L/usr/lib64 -L/lib64"

LDFLAGS="-L/usr/lib64 -L/lib64"

本机正确设定说明 必须为同一的
[root@spring ~]# nl /etc/hosts
     1 # Do not remove the following line, or various programs
     2 # that require network functionality will fail.
     3 127.0.0.1 localhost.localdomain spring

本机正确设定说明 必须为同一的

[root@spring ~]# nl /etc/sysconfig/network
     1 NETWORKING=yes
     2 NETWORKING_IPV6=no
     3 HOSTNAME=spring
     4 #GATEWAY=192.168.8.1

[root@linuxidc ~]# nl /etc/hosts
    1 # Do not remove the following line, or various programs
    2 # that require network functionality will fail.
    3 127.0.0.1 localhost.localdomain linuxidc

[root@spring ~]# less /etc/httpd/conf/httpd.conf|grep ServerName
# ServerName gives the name and port that the server uses to identify itself.
#ServerName www.example.com:80
ServerName 127.0.0.1

[root@spring ~]# nl /etc/sysconfig/network
    1 NETWORKING=yes
    2 NETWORKING_IPV6=no
    3 HOSTNAME=linuxidc
    4 #GATEWAY=192.168.8.1

[root@linuxidc ~]# less /etc/httpd/conf/httpd.conf|grep ServerName
# ServerName gives the name and port that the server uses to identify itself.
#ServerName www.example.com:80
ServerName 127.0.0.1

CentOS 6.5编译安装httpd-2.4.7 http://www.linuxidc.com/Linux/2014-02/97265.htm

httpd中工作模型的比较  http://www.linuxidc.com/Linux/2014-03/99093.htm

源码编译安装httpd2.4及虚拟主机 http://www.linuxidc.com/Linux/2014-08/105384.htm

编译安装最新版httpd-2.4 http://www.linuxidc.com/Linux/2014-03/98761.htm

httpd2.4基本功能的实现... http://www.linuxidc.com/Linux/2014-03/98762.htm

Apache Httpd服务器之基础教程  http://www.linuxidc.com/Linux/2015-02/114007.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-04/116145.htm

图片 1

本文由贝博体育app发布于贝博体育app网络,转载请注明出处:apache启动报错,Apache启动不了httpd

关键词:

上一篇:Eclipse及其配置
下一篇:没有了