【问题标题】:Could not reliably determine the server's fully qualified domain name无法可靠地确定服务器的完全限定域名
【发布时间】:2011-08-16 21:44:13
【问题描述】:

我刚刚安装了 Apache 2.2.17,我是第一次使用它。

现在,当我尝试使用命令 service httpd start 启动服务器时,它给了我消息:

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

现在我想我必须在通过 Google 搜索时设置 ServerName 和 IP 地址。但我不知道我必须在哪个文件中设置。

我该如何解决这个问题?

【问题讨论】:

    标签: apache2 fedora


    【解决方案1】:
    1. sudo vim /etc/apache2/httpd.conf
    2. 在 httpd.conf 中插入以下行:ServerName localhost
    3. 只需重启 Apache:sudo /etc/init.d/apache2 restart

    【讨论】:

    • 在我的 RPi 上,我必须将 httpd.conf 文件放在 /etc/apache2/conf.d 中才能正常工作。
    • 使用 Ubuntu 13.04,我也不得不把它放到 /etc/apache2/conf.d/httpd.conf 中,没有其他工作......
    • 谢谢,这也解决了我的问题。我最近在 /etc/hosts 中设置了实际的主机名,这破坏了 apache,直到我在全局上下文中设置 ServerName localhost。现在 vhost 再次工作,并且 SSL 证书正在正常提供。
    • 就我而言,我编辑了/etc/apache2/apache2.conf
    【解决方案2】:

    是的,你应该设置 ServerName:

    http://wiki.apache.org/httpd/CouldNotDetermineServerName

    http://httpd.apache.org/docs/current/mod/core.html#servername

    您可以在此处找到有关各种 httpd 发行版使用的布局的信息:

    http://wiki.apache.org/httpd/DistrosDefaultLayout

    在您的情况下,要编辑的文件是 /etc/httpd/conf/httpd.conf

    【讨论】:

    • 嘿,谢谢你的回答,我已经编辑 /etc/httpd/conf/httpd.conf 并尝试将 ServerName 设置如下 Listen 80 NameVirtualHost 172.20.30.40:80 ServerName www.example1.com DocumentRoot /home/user/Softwares/mysite/ </VirtualHost>** 但我仍然收到以下错误消息.. **正在启动 httpd:警告:DocumentRoot [/home/user/Softwares/ mysite] 不存在 httpd:无法可靠地确定服务器的完全限定域名,使用 ::1 作为 ServerName
    【解决方案3】:

    我没有弄错 ServerName。在导致此警告消息的 VirtualHost 配置中,它是位于 httpd.conf 顶部附近的通用配置,默认情况下注释

    改变

    #ServerName www.example.com:80
    

    到:

      ServerName 127.0.0.1:80
    

    【讨论】:

      【解决方案4】:

      在 Debian Squeeze 下;

      1. 编辑 Apache2 配置文件:vim /etc/apache2/apache2.conf
      2. 在 apache2.conf 中插入以下行:ServerName localhost
      3. 重启 Apache2:apache2ctl restart 或 /etc/init.d/apache2 restart

      应该可以正常工作(它确实解决了我的问题)

      tks noodl 用于不同布局的链接。 :)

      【讨论】:

      • 有效!!!!非常感谢
      【解决方案5】:
      1. sudo nano /etc/apache2/httpd.conf
      2. 在 nano 编辑器 <Ctrl + W> 中搜索文本 ServerName
      3. 在 httpd.conf 中插入以下行:ServerName localhost
      4. 只需重启 Apache:sudo /usr/sbin/apachectl restart

      【讨论】:

        【解决方案6】:

        另一个选项是确保完整的限定主机名 (FQDN) 列在 /etc/hosts 中。 这在 Ubuntu v11.10 上对我有用,而无需更改默认的 Apache 配置。

        【讨论】:

          【解决方案7】:

          " 要解决此问题,您需要设置 ServerName。

          1:$ vim /etc/apache2/conf.d/name 例如设置添加 ServerName localhost 或任何其他名称:

          2: 服务器名本地主机 重启 Apache 2

          3:$ service apache restart 对于此示例,我使用 Ubuntu 11.10.1.125"

          【讨论】:

            【解决方案8】:

            FQDN 表示通过 DNS 解析的名称。它应该类似于“server-name.search-domain”。

            您收到的警告只是提示 httpd 找不到 FQDN,因此它可能无法正常处理基于名称的虚拟主机。因此,请确保在您的 DNS 服务器中注册了预期的 FQDN,或者在访问 DNS 之前手动添加 /etc/hosts 中的条目。

            【讨论】:

              【解决方案9】:

              如果您使用的是 Windows,则情况会有所不同

              首先打开c:/apache24/conf/httpd.conf。 Apache 文件夹就够了,不用专门在上面的路径

              之后,您必须配置 httpd.conf 文件。

              就在几行之后有这样的模式:

              #Listen _____________:80
              Listen 80
              

              这里你必须更改为localhost

              你必须输入ipv4地址才能打开localhost。

              请参考此视频链接,然后再了解更多。

              改变你的环境变量:

              你必须在其中输入路径:

              c:apache24/bin
              


              在 SYSTEM 变量中相同

              如有任何疑问,请随时提问。

              【讨论】:

                【解决方案10】:

                两件事似乎对我有用:

                1. 将 127.0.0.1 的所有别名放在 /etc/hosts 中的一行中(例如 127.0.0.1 localhost mysite.local myothersite.local
                2. 在我的 httpd.conf 中将 ServerName 设置为 0.0.0.0(本地主机或 127.0.0.1 对我不起作用)

                编辑 /etc/hosts 消除了较长的响应时间,设置 ServerName 消除了 OP 对我的警告。

                【讨论】:

                  【解决方案11】:

                  谁仍然无法解决问题并使用mac然后按照这个

                  1.转到根文件夹/

                  1. cd usr/local/etc/apache2/2.4

                  3.sudo nano httpd.conf

                  4.将#servername改为ServerName 127.0.0.1:8080 按ctrl+o,+return+ctrl x

                  5.然后重启服务器apachectl restart

                  【讨论】:

                    【解决方案12】:

                    如果您使用的是 windows,请删除这些行的注释并将它们设置为:

                    Line 227 : ServerName 127.0.0.1:80 
                    Line 235 : AllowOverride all 
                    Line 236 : Require all granted
                    

                    为我工作!

                    【讨论】:

                    • 我在端口 80 (organizr) 上运行了另一个服务,因此我不得不修改侦听器端口(第 60 行)。还添加了防火墙规则,但不是必需的。 ``` 听4444 ``` 我不得不做一些挖掘才能找到答案。最终这个答案为我做到了:stackoverflow.com/questions/195641/…
                    【解决方案13】:

                    这是我的两分钱。也许它对未来的读者有用。

                    我在 Docker 容器中使用 Apache 时遇到了这个问题。当我从 Apache 网络服务器的映像启动容器时,当我使用 docker run -it -p 80:80 my-apache-container 启动它时出现此消息。

                    但是,在以分离模式启动容器后,使用docker run -d -p 80:80 my-apache-container,我能够通过浏览器进行连接。

                    【讨论】:

                      猜你喜欢
                      • 2013-08-19
                      • 1970-01-01
                      • 2018-05-19
                      • 2021-05-29
                      • 2022-07-18
                      • 2015-10-15
                      • 2021-08-14
                      • 1970-01-01
                      • 2012-03-21
                      相关资源
                      最近更新 更多