我尝试重启 Apache,但没有成功。错误如下:
Restarting web server apache2
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
我需要一些帮助。谢谢
答案1
首先,我相信 Apache 的新版本不使用 httpd.conf 或任何类似的东西,所以我不会讨论“httpd”的任何内容。
我相信正确的消除此警告的方法是请勿触摸apache2.conf
。
我读到过,每当 apache2 更新时,这个文件都会更新,如果你和我一样,你也不想撤销已经完成的操作。因此,请使用下面的 .conf 文件/etc/apache2/available-sites/
我的安装有一个默认文件...比如000-default.conf
。如果你的安装中没有,你应该谷歌一下 a2enconf,了解如何创建 .conf 文件并使用 a2enconf 来创建符号链接。
我做的第一件事是取消注释 ServerName 并将其设置为 localhost,希望警告会消失。但不幸的是,警告仍然存在。
我的警告中有“全局”一词。所以我意识到我更改的行位于<VirtualHost>
标签内,并假设它不是全局的。 我在 vhost 标签外部添加了“ServerName localhost”,但仍在 000-default.conf 文件中,瞧。 问题解决了。而且我不需要修改 apache2.conf,所以即使我更新并且 Apache 覆盖了 apache2.conf,我也不必再为此烦恼。我希望这能澄清一些有关警告的事情。我讨厌警告,就像讨厌错误一样。我希望一切都完美运行,但又安静无声。
答案2
主机名称为完全合格当将域名附加到其中时。
服务器名称不完全合格,服务器名称.域名.org是。
当该命令hostname
用于返回系统的主机名时,hostname -f
用于返回完全限定的主机名。
如果您在系统上运行此命令并且它没有返回任何内容,那么您可能也会在 Apache 和其他一些程序中看到此警告。
在这种情况下,如果你真的想解决问题,你必须做出/etc/hosts
相应的定义:
<your ip> servername.domainname servername
例如,如果我的 IP 是10.1.1.1,我的域名示例.com和我的主机名主机1,最小/etc/hosts
文件将是:
127.0.0.1 localhost.localdomain localhost
10.1.1.1 host1.example.com host1
此后,命令hostname
将返回主机1并hostname -f
返回主机1.example.com。
这样,就不需要告诉 Apache 您的主机名是 localhost。无需修改主 Apache 配置文件,因此下次更新 Apache 时,您不会丢失设置,也不会将新配置文件合并到现有配置文件中。
答案3
要解决该问题,您需要编辑该httpd.conf
文件。只需按键盘上的Ctrl+ Alt+T即可打开终端。打开后,运行以下命令:
sudo gedit /etc/apache2/httpd.conf
默认情况下httpd.conf
文件是空白的,只需添加以下内容:
ServerName localhost
完成后,保存文件并重新启动服务器。
sudo /etc/init.d/apache2 restart
或者
要解决这个问题,只需设置 ServerName。
sudo nano /etc/apache2/conf.d/name
例如将名称设置为 localhost 或您想要的任何其他名称:
ServerName localhost
只需重新启动 Apache 2
sudo /etc/init.d/apache2 restart