AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 103426
In Process
user35402
user35402
Asked: 2010-01-17 11:24:57 +0800 CST2010-01-17 11:24:57 +0800 CST 2010-01-17 11:24:57 +0800 CST

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

  • 772

当我(重新)启动 Apache 时,我不断收到此警告。

* Restarting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName

... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName [ OK ]

这是我的etc/hosts文件的内容:

#127.0.0.1  hpdtp-ubuntu910
#testproject.localhost  localhost.localdomain   localhost
#127.0.1.1  hpdtp-ubuntu910

127.0.0.1   localhost
127.0.0.1   testproject.localhost
127.0.1.1   hpdtp-ubuntu910



# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

这是我的/etc/apache2/sites-enabled/000-default文件的内容:

<VirtualHost *:80>
  ServerName testproject.localhost
  DocumentRoot "/home/morpheous/work/websites/testproject/web"
  DirectoryIndex index.php
  <Directory "/home/morpheous/work/websites/testproject/web">
    AllowOverride All
    Allow from All
  </Directory>

  Alias /sf /lib/vendor/symfony/symfony-1.3.2/data/web/sf
  <Directory "/lib/vendor/symfony/symfony-1.3.2/data/web/sf">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

当我转到 时http://testproject.localhost,我得到一个空白页。

谁能发现我做错了什么?

ubuntu apache-2.2 ubuntu-9.10
  • 11 11 个回答
  • 83680 Views

11 个回答

  • Voted
  1. crb
    2010-01-17T13:37:16+08:002010-01-17T13:37:16+08:00

    默认情况下,Ubuntu 不会在 Apache 配置中指定 ServerName,因为它不知道您的服务器的名称是什么。它尝试对您的 IP 地址进行反向查找,但没有返回任何内容,因此它只需使用 IP 地址作为ServerName。

    要修复它,请在任何虚拟主机之外添加 ServerName 指令- 例如 in /etc/apache2/httpd.conf,或为您的主 IP 地址设置反向 DNS 响应 - 在本例中为 127.0.1.1

    忽略它也很好。

    • 52
  2. ReinoutS
    2011-03-16T08:25:24+08:002011-03-16T08:25:24+08:00

    这是一个快速修复:

    echo ServerName $HOSTNAME > /etc/apache2/conf.d/fqdn
    
    • 27
  3. Ryan Ahearn
    2010-03-03T20:45:10+08:002010-03-03T20:45:10+08:00

    绕过该警告的另一种方法是将完全限定的域名放在127.0.1.1. /etc/hosts它甚至不必是实际上可以解析为 dns 服务器上的任何内容的 fqdn。

    127.0.1.1  hpdtp-ubuntu910.lan  hpdtp-ubuntu910
    

    会做到这一点,同时还保留任何不期望额外的程序的行为.lan。顺序很重要;应首先指定具有更多级别的名称,如本例中.lan地址位于另一个地址之前。

    • 16
  4. Marc Driftmeyer
    2011-02-16T03:43:57+08:002011-02-16T03:43:57+08:00

    此解决方案适用于我的开发需求:

    背景:

    Debian Linux Sid:
    虚拟主机开发:我有 10 个服务器名称(站点内有 10 个虚拟主机条目)

    我在里面为每个人分配了一个唯一的本地主机 IP 地址/etc/hosts:

    127.0.0.1   joe   localhost.localdomain   localhost
    127.0.1.1   joe
    127.0.1.2   joomla
    127.0.1.3   schmoo
    127.0.1.4   forrest
    127.0.1.5   store
    127.0.1.6   publisher
    127.0.1.7   studios
    127.0.1.8   drupal
    127.0.1.9   graphics
    127.0.1.10  wordpress
    ...
    
    The following lines are desirable for IPv6 capable hosts
    
    ::1     ip6-localhost ip6-loopback
    fe00::0 ip6-localnet
    ff00::0 ip6-mcastprefix
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters
    ff02::3 ip6-allhosts
    

    如果您要添加另一个虚拟主机(我有很多用于开发)添加一个条目到另一个本地主机 IP 地址,并在重新启动 Apache 2.2 之前启用该站点:

    127.0.0.11 *newhost*
    

    对于要启用为 VirtualHost 文件的每个条目:

    /etc/apache2/sites-available/

    joe joomla 学校 forrest store 出版商工作室 drupal 图形 wordpress

    所有虚拟主机都通过 a2ensite/a2dissite主机名启用/禁用

    抑制错误

    重新启动 Web 服务器:apache2apache2:无法可靠地确定服务器的完全限定域名,使用 127.0.0.1 作为 ServerName ...等待 apache2:无法可靠地确定服务器的完全限定域名,使用 127.0.0.1 作为 ServerName''

    在[Debian 中的空文件] 中编辑httpd.conf :/etc/apache2/httpd.conf

    ServerName 127.0.1.1
    

    然后为您添加、注释掉或禁用的所有名称解析查找。

    如果您忘记了:唯一的 VirtualHost *:80 条目只需要在ports.conf文件中,

    /etc/apache2/ports.conf

    **NameVirtualHost *:80**
    Listen 80
    
    <IfModule mod_ssl.c>
       # If you add NameVirtualHost *:443 here, you will also have to change
       # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
       # to <VirtualHost *:443>
       # Server Name Indication for SSL named virtual hosts is currently not
       # supported by MSIE on Windows XP.
       Listen 443
    </IfModule>
    
    <IfModule mod_gnutls.c>
       Listen 443
    </IfModule>
    

    在您的 VirtualHost 条目中省略VirtualHost *:80

    示例:虚拟主机乔

    <VirtualHost *:80>
        **ServerAlias joe**
        **...**
    </VirtualHost>
    
    • 7
  5. Nick
    2012-09-09T13:05:25+08:002012-09-09T13:05:25+08:00

    httpd.conf 中的设置ServerName对我不起作用。ServerName 127.0.0.1我通过设置来修复它/etc/apache2/conf.d/name。

    我正在运行 Ubuntu 12.10 Alpha3 并ServerName在两个位置都进行了定义。

    来源: http: //linuxconfig.net/manual-howto/error-solution-could-not-reliably-determine-the-servers-fully-qualified-domain-name.html

    • 6
  6. David
    2010-01-17T13:36:42+08:002010-01-17T13:36:42+08:00

    您缺少服务器配置级别的 ServerName 条目。您需要在任何主机之外都有一个 ServerName 条目,Apache 才能将其用作默认值。

    将 ServerName 条目放在 VirtualHost 中不会解决问题。请参阅ServerName 指令。

    • 5
  7. niekutis
    2012-01-09T02:24:25+08:002012-01-09T02:24:25+08:00

    要修复它,我们需要编辑 /etc/apache2/httpd.conf 或 /etc/apache2.conf 并添加以下行:

    ServerName nameofserver
    
    • 3
  8. vpram86
    2010-01-17T12:21:46+08:002010-01-17T12:21:46+08:00

    我相信您需要ServerName为默认虚拟主机添加。由于它不存在,因此它采用默认 IP 地址。这是一种警告。我猜你的网络服务器仍然可以正常工作。

    • 1
  9. Kunjal B Popat
    2013-08-07T04:07:34+08:002013-08-07T04:07:34+08:00
    1. 您必须使用以下步骤在httpd.conf文件中添加 ServerName

      sudo gedit /etc/apache2/httpd.conf
      

      默认情况下httpd.conf,文件将为空白。现在,只需将以下行添加到文件中。

      ServerName localhost
      

      保存文件并退出gedit。最后重启服务器。

      sudo /etc/init.d/apache2 restart
      

    2)Include httpd.conf在末尾添加apache2.conf

    • 0
  10. Ace
    2013-01-23T18:32:17+08:002013-01-23T18:32:17+08:00

    如果安装后您的 etc/apache2 目录中不存在 httpd.conf 文件,则主 apache 配置文件 apache2.conf 将不会引用它,因此向创建的 httpd.conf 添加任何内容都不会做任何事物。您可以简单地将“ServerName 主机名”行添加到 apache2.conf 文件中。

    • -1

相关问题

  • 在 Ubuntu 上设置电子邮件服务器

  • 在 Linux Xen VPS 上优化 Apache 和 MySQL

  • mod_rewrite 不转发 GET 参数

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve