我需要apache servername设置吗?

时间:2012-07-01 02:46:38

标签: apache apache2 apache-config

我不确定是否可以提出这个问题 - 如果不是,请告诉我。我想过超级用户,但它似乎并不适合他们的常见问题规格。

无论如何 - 这个问题!如果我只是使用服务器为单个网站提供服务,是否需要在我的apache2.conf文件中输入ServerName值?如果是这样,我应该将它设置为什么?

我正在遵循本指南:

http://meppum.com/2009/jan/17/installing-django-ubuntu-intrepid/

它建议我在apache2.conf文件中设置“SeverName”设置。我查了一下,发现这篇文章讨论了“ServerName”

http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:Ch20:_The_Apache_Web_Server

哪个很有意思,但它并没有真正告诉我何时我需要设置ServerName。 “我可以判断,我只是在做某种事情时才需要它。在某些事情上,例如,答案.yahoo.com

是这样的吗?如果没有,那么什么是服务器名称(例如,名为www.yahoo.com的域名,比方说,192.0.0.1)是什么意思?

1 个答案:

答案 0 :(得分:4)

如果服务器托管单个网站,则不必使用VirtualHosts,因此您不必定义ServerName,但建议您这样做。

如果您不这样做,Apache将尝试根据执行反向DNS查找的服务器IP找出主机名。

来自Apache documentation

  

ServerName指令设置请求方案,主机名和端口   服务器用来标识自己。这在创建时使用   重定向网址。

     

此外,还使用了ServerName(可能与。一起使用)   ServerAlias)在使用时唯一标识虚拟主机   基于名称的虚拟主机。

     

例如,如果托管Web服务器的计算机的名称是   simple.example.com,但该机器也有DNS别名   www.example.com,您希望Web服务器如此识别,   应使用以下指令:

 ServerName www.example.com
     

ServerName www.example.com如果没有指定ServerName,那么   服务器尝试通过执行反向查找来推断主机名   在IP地址上。如果ServerName中没有指定端口,那么   服务器将使用传入请求中的端口。为了最佳   可靠性和可预测性,您应该明确指定   使用ServerName指令的主机名和端口。

回答你的问题:

  

我是否需要在我的apache2.conf文件中输入ServerName值   我只是使用服务器为一个网站提供服务?

不,你不这样做,但建议你这样做。

  

如果是这样,我应该将它设置为什么?

语法为:ServerName [scheme://]fully-qualified-domain-name[:port]

  

是这样的吗?

不,不仅如此。

  

如果没有,那么什么是服务器名称(例如,名为www.yahoo.com的域名,比方说,192.0.0.1)是什么意思?

ServerName www.yahoo.com