当我使用命令重新启动我的 Apache 服务器时
sudo /etc/init.d/apache2 restart
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
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
Run Code Online (Sandbox Code Playgroud)
服务器是否使用 127.0.1.1 而不是 127.0.0.1?是什么导致了这个错误?
Rin*_*ind 591
6# 13.04 及以上
这只是一个友好的警告,并不是真正的问题(因为有些东西不起作用)。
如果你去:
/etc/apache2/apache2.conf
Run Code Online (Sandbox Code Playgroud)
并插入:
ServerName localhost
Run Code Online (Sandbox Code Playgroud)
然后通过在终端中键入来重新启动 apache:
sudo systemctl reload apache2
Run Code Online (Sandbox Code Playgroud)
通知将消失。
如果你有一个名字,/etc/hostname你也可以使用这个名字而不是localhost.
127.0.1.1如果它在您的内部,它会使用/etc/hosts:
127.0.0.1 localhost
127.0.1.1 myhostname
Run Code Online (Sandbox Code Playgroud)
Apache 故障排除
如果您收到此错误:
apache2: Could not determine the server's fully qualified domain name,
using 127.0.0.1 for ServerName
Run Code Online (Sandbox Code Playgroud)
然后在命令行使用“sudo nano”或桌面上的“gksudo gedit”等文本编辑器创建新文件,
sudo nano /etc/apache2/conf.d/fqdn
Run Code Online (Sandbox Code Playgroud)
或者
gksu "gedit /etc/apache2/conf.d/fqdn"
Run Code Online (Sandbox Code Playgroud)
然后加
ServerName localhost
Run Code Online (Sandbox Code Playgroud)
到文件并保存。这一切都可以在一个命令中完成,如下所示:
echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn
Run Code Online (Sandbox Code Playgroud)
但是在 Ubuntu 14.04 上:
echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/fqdn.conf
sudo a2enconf fqdn
Run Code Online (Sandbox Code Playgroud)
不要忘记“.conf”(没有将不起作用)。
Sta*_*arx 189
从 Apache 2.4(自 13.10 起默认可用)开始,您无法使用在conf.d目录中添加配置文件的方法。
Apache 不再使用该conf.d目录。所有配置文件都存储在/etc/apache2/conf-available目录中,所有配置文件现在都应该有一个.conf扩展名。
为了在 Apache 2.4 中解决此消息,我们必须在 conf-available 目录中创建一个配置文件。例如servername.conf。
sudo vi /etc/apache2/conf-available/servername.conf
Run Code Online (Sandbox Code Playgroud)
在这里面我们只需要添加一行
ServerName localhost
Run Code Online (Sandbox Code Playgroud)
您可以将前两个命令合二为一:
echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/servername.conf
Run Code Online (Sandbox Code Playgroud)
如果您想根据要求使用域名或任何其他名称,只需替换localhost为您需要的任何名称即可。接下来,您必须启用此配置。为此,您需要运行以下命令:
sudo a2enconf servername
Run Code Online (Sandbox Code Playgroud)
a2enconf是在 Apaches 2.4 中启用配置文件的命令。还要注意servername上面的命令是取自配置文件的名字servername.conf。如果您的配置文件是,ngenericserver.conf那么您将不得不编写sudo a2enconf ngenericserver.
重新加载服务器后,上述消息将不再困扰您。
sudo service apache2 reload
Run Code Online (Sandbox Code Playgroud)
或者
sudo apache2ctl graceful
Run Code Online (Sandbox Code Playgroud)
现在,在此之后,您将看到该消息将不再显示,问题将得到解决。
And*_*Mao 33
Apache2 还可以从正确配置的系统主机名中获取 FQDN,而不是硬编码到 apache 配置文件中。如果主机名改变,硬编码也会引起混淆。您实际上不需要任何ServerName指令httpd.conf或任何 apache 配置文件。
将以下内容放入/etc/hosts:
# IPv4 and IPv6 localhost aliases
127.0.0.1 hostname.domainname.com hostname localhost
::1 hostname.domainname.com hostname localhost
Run Code Online (Sandbox Code Playgroud)
hostname.domainname.com您机器的 FQDN在哪里。
连同在/etc/hostname/或 with 中正确配置的主机名hostnamectl,这也将有助于您机器上的其他服务正常运行(即登录提示,显示This is hostname.domainname.com而不是This is hostname.unknown_domain.)
gre*_*een 29
打开/etc/apache2/httpd.conf文件:
sudo editor /etc/apache2/httpd.conf # [1]
Run Code Online (Sandbox Code Playgroud)默认情况下,它将为空白。只需添加以下行:
ServerName localhost
Run Code Online (Sandbox Code Playgroud)保存文件并退出
重启服务器
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)[1] 启动默认编辑器,见 sudo update-alternatives --config editor
小智 25
在新版本的 apache2 中,您只需执行如下命令:
sudo nano /etc/apache2/apache2.conf
Run Code Online (Sandbox Code Playgroud)
在文件末尾添加以下新行:
ServerName localhost
Run Code Online (Sandbox Code Playgroud)
然后重启apache2:
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)
完成。
小智 6
我发现创建一个新文件/etc/conf.d来修改apache2.conf或httpd.conf.
这是使我的配置更改与分发包分开的个人偏好。所以更新不那么复杂。
我创建了文件/etc/apache2/conf.d/AAserverName,它只包含:
ServerName myhost.mycomain.tld
Run Code Online (Sandbox Code Playgroud)
其他建议当然也有效。
| 归档时间: |
|
| 查看次数: |
1625952 次 |
| 最近记录: |