商讯信箱
用户名: @
密  码:   注册|忘记密码
登录
个人用户经销商
您的位置:首页 > 技术频道 > 正文
2.4 Apache WWW服务器下基于名字的大规模虚拟主机设置

    所谓大规模虚拟主机,是指能够提供非常多的虚拟主机服务,比如能提供超过数十万个域名的虚拟主机服务。如果使用以上讨论的方法,是很难完成的。实现这种服务的一种方式是利用Apache 功能强大的URL重写功能。下面以一个实例来说明这种方式。

2.4.1 Apache中URL重写功能

    Apache 1.2及以后版本都有URL重写(Rewrite)功能。简单的说,URL重写功能就是在Apache接收到请求后,在处理的过程中能根据预先设定的规则,对请求中的URL进行修改。这些规则主要由正规表达式组成。重写依赖于输入的URL、各种服务器端环境变量、HTTP请求头中的内容、时间,甚至可以通过外部的程序来使用数据库中的信息来帮助重写。

    URL重写功能非常强大,通过URL重写,可以使Apache完成异常复杂的功能。当然,URL重写功能本身也比较复杂,关于URL重写功能的详细说明可以参看Apache 的随机文档。

2.4.2 使用Apache中URL重写功能实现基于名字的大规模虚拟主机设置

    假设机器www.home.com提供名字形如abcde.home.com、hijk.home.com等的大规模虚拟主机服务。其中虚拟主机名必须是字母或数字,并且长度至少为3。为了防止一个目录下文件或子目录太多而对性能产生很大的负面影响,对用户的目录按照名字进行分级划分,如虚拟主机abcde.home.com的相关文件存放在目录/member/ab/de/abcde下面。其中“ab”、“de”分别是“abcde”的前边两个字符和最后两个字符。当用户请求http://abcde.home.com时,系统应该返回/member/ab/de/abcde下面的文件。

下面是为了完成这种功能需要进行的设置

1. 对域名服务器的设置

    假设www.home.com的IP地址为202.103.190.57,在域名服务器DNS的home.com数据文件中增加一行:

-------------------------------------------------------------------------------- * IN A 202.103.190.57 --------------------------------------------------------------------------------

 

这样,所有 *.home.com的IP地址都会被解析为202.103.190.57,就没有必要为各个虚拟主机分别进行设置。

1 2 3 4
©版权所有。未经许可,不得转载。
[责任编辑:阿雪]
[an error occurred while processing this directive]