无法重启Apache 2

我正在尝试重新启动我的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 

我需要一些帮助。 谢谢

首先,我相信新版本的Apache不使用httpd.conf或其中任何一个,所以我不打算讨论“httpd”。

我认为让这个警告消失的正确方法是不要接触apache2.conf

我已经读过这个文件在apache2更新的任何时候都会更新,如果你像我一样,你不希望你已经完成的事情被撤消。 所以在/etc/apache2/available-sites/下使用.conf文件

我的安装有一个默认文件…比如000-default.conf 。 如果你没有,你可能应该google a2enconf并学习如何创建.conf文件并使用a2enconf来创建符号链接。

我做的第一件事是取消注释ServerName并将其设置为localhost,期望警告消失。 唉,警告仍在那里。

我的警告有“全球”这个词。 所以我意识到我改变的行是在一个标签内,并认为它不是全局的。 我在vhost标签的外部添加了“ServerName localhost”,但仍然在000-default.conf文件中并且瞧。 问题解决了。 而且我不需要触摸apache2.conf所以即使我更新并且Apache覆盖了apache2.conf,我也不会再次使用它。 我希望这澄清了有关警告的一些事情。 我讨厌警告和错误一样多。 我喜欢一切function完美但也很安静。

当域名附加到主机名时,主机名称称为完全限定

servername不是完全限定的, servername.domainname.org是。
当命令hostname用于返回系统的主机名时, hostname -f用于返回完全限定的主机名。

如果您在系统上运行此命令并且它什么也没有返回,那么您可能会在Apache和其他程序中看到此警告。

在这种情况下,如果您真的想解决问题,则必须相应地定义/etc/hosts

  servername.domainname servername 

例如,如果我的IP是10.1.1.1 ,我的域example.com和我的主机名host1 ,最小的/etc/hosts文件将是:

 127.0.0.1 localhost.localdomain localhost 10.1.1.1 host1.example.com host1 

在此之后,命令hostname将返回host1hostname -f将返回host1.example.com

通过这样做,无需告诉您的Apache您的主机名是localhost。 无需修改主Apache配置文件,因此下次更新Apache时,您不会丢失设置或将新配置文件未合并到现有配置文件中。

要解决该问题,您需要编辑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