设为首页 | 收藏本站
首页>IT学院>网络技术>正文
Apache下服务器虚拟主机的设置
WWW.DBIT.CN 2007-11-18 10:29:27 热度:
 

缺点:安全性低,每个虚拟主机仍然需要占用一个IP地址。

2.3 Apache WWW服务器下简单的基于名字的虚拟主机设置

这种方式下,各个虚拟主机共享同一份Apache,因此有CGI程序运行时,安全性也不高。设置这种虚拟主机时,只要为每一个虚拟主机设置类似如下的信息即可

NameVirtualHost 111.222.33.44 ; 在这个IP地址接收虚拟主机的服务 
; 
ServerName www.company1.com 
DocumentRoot /www/company1 
; 
; 
ServerName www.company2.com 
DocumentRoot /www/company2 
;

优点:只要一个IP地址就可以提供大量的虚拟主机服务。

缺点:安全性差。维护这些虚拟主机时需要更改配置文件,并且需要重新启动Apache进程才能起作用。因此不适合进行大规模的虚拟主机服务。

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,就没有必要为各个虚拟主机分别进行设置。

2. 对Apache的设置

首先使用命令“httpd -l”检查mod_rewrite模块是否已经编译到Apache中,如果没有,重新编译Apache。

然后在Apache的配置文件httpd.conf中增加如下语句(其中以“#”开头的为注释):

--------------------------------------------------------------------------------

#禁止使用机器的正式名

UseCanonicalName off

#使能重写功能

RewriteEngine on

RewriteMap lowercase int:tolower

# 为安全考虑,对CGI程序不进行重写

RewriteCond %{REQUEST_URI} !^/cgi-bin/

# 对www.home.com不重写,其他的重写

RewriteCond ${lowercase:%{HTTP_HOST}} !^www\.home\.com(\.*)$

RewriteCond ${lowercase:%{HTTP_HOST}} ^[a-z0-9-]+\.home\.com(\.*)$

本新闻共3页,当前在第2页  1  2  3  

 
上一篇:没有了
下一篇:教你在局域网中映射网络驱动器的使用
打印】【关闭
  相关文章:
☆联姻学院☆

windows2000不能安装office的
HP笔记本硬盘升级后硬盘灯不亮
手动清除certsvc.exe certdef
wkebsr.exe(QQ迷你首页木马)分
Excel中频繁提示“无法清空剪
用宏随意提取Excel单元格的批
Linux操作系统摄像头驱动的安
xp一开机就自动注销的成功解决
Photoshop cs2在Vista下的尴尬
教你如何安装Photoshop笔刷
在WEB标准中嵌入Flash的最佳方
WEB网站主要的HTML标志和属性
Asp.Net输出数据到EXCEL表格中
新闻发布系统管理页
Apache下服务器虚拟主机的设置
教你在局域网中映射网络驱动器

精品图秀
美女面相大盘点
清新孙俪纯情写真
刘羽琦最新写真
尼康广角相机上市 东软电脑城店庆日 惠士嘉快乐音符魅力重 7100元校花级MM配置 我的成功不是靠忽悠