在UbuntuLinux上架设Web服务器详解(3)

文章作者 100test 发表时间 2007:03:14 16:25:47
来源 100Test.Com百考试题网


三、配置动态虚拟主机

一般情况下,我们会在Web服务器上寄放多个Web站点,并且每个站点都有它自己的虚拟服务器。对于Apache来说,它同时支持基于名称的虚拟服务器和基于IP的服务器。

对于基于IP的虚拟服务器,每个站点都具有一个单独的IP地址,这样的缺点是使用太多的IP地址,但如今IPv4的地址已有枯竭的迹象,所以不提倡使用,通常在要求使用SSL 时才使用。

对于基于名称的虚拟服务器,多个Web站点共享一个IP地址。在这种情况下,通常根据HTTP请求头部来决定将其发给哪一个站点。为此,我们需要为每个虚拟服务器分别建立一个配置,给作为Web站点的根的目录以及主机命名。但是,如果这样的话我们每当添加一个新的虚拟服务器时,就要修改Apache的配置并重新启动,这的确很烦人呢!

值得高兴的是,如果使用动态虚拟主机技术的话,可以随时加入虚拟主机时而不必重新配置或启动Apache。该技术要用到一个模块,称为vhost_alias。我们可以通过在Apache2已启用的模块目录中建立一个符号链接来启用该模块,命令如下所示:

$ sudo ln -s /etc/apache2/mods-available/vhost_alias.load \\

         /etc/apache2/mods-enabled/vhost_alias.load

要想使vhost_alias正常工作,我们还需要修改/etc/apache2/apache2.conf 来关闭常规名称(canonical names),修改日志文件的配置,并为我们的虚拟主机规定存放位置。下面是一个实例:

#从"Host:"头中取得主机名

UseCanonicalName Off



# 这种日志格式可以从第一个字段中提取出主机名

LogFormat "%V %h %l %u %t "%r" %s %b" vcommon

CustomLog /var/log/apache2/access_log vcommon



# 在返回请求的文件名路径中包含主机名

VirtualDocumentRoot /var/www/vhosts/%0/web

VirtualScriptAlias /var/www/vhosts/%0/cgi-bin

接下来,创建存放虚拟主机的目录,命令如下:

$ sudo mkdir /var/www/vhosts


相关文章


Linux操作系统“警惕”内核汉化的误导(3)
Linux操作系统“警惕”内核汉化的误导(2)
Linux操作系统“警惕”内核汉化的误导(1)
在UbuntuLinux上架设Web服务器详解(3)
在UbuntuLinux上架设Web服务器详解(2)
在UbuntuLinux上架设Web服务器详解(1)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛