zoukankan      html  css  js  c++  java
  • Apache启动不了httpd: apr_sockaddr_info_get() failed xgp

    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

    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

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

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

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

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

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

    [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@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

    版权声明:本文为小平果原创文章,转载请注明:http://blog.csdn.net/i10630226

  • 相关阅读:
    深入V8引擎-Time核心方法之win篇(2)
    深入V8引擎-Time核心方法之win篇(1)
    深入V8引擎-Time核心方法之mac篇
    深入V8引擎-Time模块介绍
    深入V8引擎-写在前面
    深入V8引擎-编译启动
    【机器学习】极大似然估计法
    【机器学习】贝叶斯决策论
    【机器学习】贝叶斯决策 实例
    【机器学习】贝叶斯公式
  • 原文地址:https://www.cnblogs.com/dingxiaoyue/p/4948300.html
Copyright © 2011-2022 走看看