无法重启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
将返回host1 , hostname -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