版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Apache 下的虚拟主机设置 .txt22 真诚是美酒, 年份越久越醇香浓型; 真诚是焰火, 在高处绽放才愈是美丽;真诚是鲜花,送之于人手有余香。一颗孤独的心需要爱的滋润;一颗冰冷的心需要友谊的温暖;一颗绝望的心需要力量的托慰;一颗苍白的心需要真诚的帮助;一颗充满戒备关闭的门是多么需要真诚这一把钥匙打开呀!Apache 下的虚拟主机设置摘要:本文介绍了 WWW 服务器的虚拟主机的工作原理, 讨论了在 Apache WWW 服务器下的各种虚拟主机、尤其是大规模虚拟主机的设置技术,并比较了各种方式的特点。关键词: Apache WWWVirtual Hosting 虚拟主机一、 WWW 服务器虚
2、拟主机原理WWW服务器虚拟主机是指使用一台物理机器,充当多个主机名的WWW 服务器。 比如由一台机器同时提供http:/,http:/等的 WWW 服务,而浏览这些WWW 站点的用户感觉不到这种方式下跟由不同的机器提供不同的服务有什么差别。使用 WWW 虚拟主机的好处在于,一些小规模的网站,通过跟其他网站共享同一台物理机器,可以减少系统的运行成本,并且可以减少管理的难度。另外,对于个人用户,也可以使用这种虚拟主机方式来建立有自己独立域名的 WWW 服务器,目前国内有很多公司都提供这种免费的服务。WWW 虚拟主机有两种工作方式:1.1基于 IP 地址的虚拟主机方式这种方式下, 不同的主机名解析到
3、不同的IP 地址,提供虚拟主机服务的机器上同时设置有这些 IP 地址。服务器根据用户请求的目的 IP 地址来判定用户请求的是哪个虚拟主机的服务,从而进一步的处理。缺点:基于 IP 地址的虚拟主机方式需要在提供虚拟主机服务的机器上设立多个 IP 地址,既浪费了 IP地址,又限制了一台机器所能容纳的虚拟主机数目。因此这种方式越来越少使用。但是,这种方式是早期使用的 HTTP 1.0 协议唯一支持的虚拟主机方式。1.2基于主机名的虚拟主机方式由于基于IP 地址的虚拟主机方式有如上的缺点,HTTP 1.1 协议中增加了对基于主机名的虚拟主机的支持。具体说,当客户程序向WWW 服务器发出请求时,客户想要
4、访问的主机名也通过请求头中的 “ Host: ”语句传递给WWW 服务器。比如,都对应于同一个IP 地址(即由同一台机器来给这两个虚拟域名提供服务),客户程序要存取http:/ /index.html HTTP/1.1Host: ,.WWW 服务器程序接收到这个请求后,可以通过检查“Host: ”语句,来判定客户程序请求是哪个虚拟主机的服务,然后再进一步的处理。优点:提供虚拟主机服务的机器上只要设置一个 IP 地址,理论上就可以给无数多个虚拟域名提供服务,占用资源少,管理方便。目前基本上都是使用这种方式来提供虚拟主机服务。缺点:在早期的 HTTP1.0 版本下不能使用。 实际上现在使用的浏览器
5、基本上都支持基于主机名的虚拟主机方式。二、 Apache 服务器下的虚拟主机设置技术2.1 Apache WWW 服务器简介Apache WWW 服务器是目前 Internet上使用最广的WWW 服务器软件。通过灵活的配置,它可以完成几乎您想得到的功能。本文主要介绍在Apache下设置各种虚拟主机的方法。2.2 Apache WWW 服务器下基于IP地址的虚拟主机设置使用这种虚拟主机方式,首先要在服务器上为每个虚拟主机单独设置一个IP 地址。这些 IP 地址可以通过增加多个网卡或者在一个网卡上设立多个IP 地址来完成。 有了多个IP地址后,可以采用以下两种方式之一来设置Apache:2.2.1
6、为每个虚拟主机运行一份Apache采用这种方式, 每一份 Apache 程序可以以单独的用户运行,因此各个虚拟主机之间互不影响。 设置这种虚拟主机时,只要为每一份Apache 设置一套配置文件就可以了,唯一需要注意的是:必须使用“Listen ”语句,强制每一份Apache 仅仅在属于“自己”的IP 地址上接收服务请求。优点:各个虚拟主机之间互不干扰,安全性高。缺点:占用系统资源较多。2.2.2 多个虚拟主机共享同一份Apache采用这种方式,各个虚拟主机共享同一份 Apache,因此各个虚拟主机之间有一定的影响,尤其是执行 CGI 程序时,可能会带来一些严重的安全问题。设置这种虚拟主机时,只
7、要为每一个虚拟主机设置类似如下的信息即可;DocumentRoot /home/company1,;优点:占用系统资源比上一种方式少。缺点:安全性低,每个虚拟主机仍然需要占用一个IP地址。2.3 Apache WWW 服务器下简单的基于名字的虚拟主机设置这种方式下,各个虚拟主机共享同一份 Apache,因此有 CGI 程序运行时,安全性也不高。设置这种虚拟主机时,只要为每一个虚拟主机设置类似如下的信息即可NameVirtualHost 4;在这个IP 地址接收虚拟主机的服务;ServerName DocumentRoot /www/company1;ServerName
8、 DocumentRoot /www/company2;优点:只要一个IP 地址就可以提供大量的虚拟主机服务。缺点:安全性差。 维护这些虚拟主机时需要更改配置文件,并且需要重新启动Apache 进程才能起作用。因此不适合进行大规模的虚拟主机服务。2.4 Apache WWW 服务器下基于名字的大规模虚拟主机设置所谓大规模虚拟主机,是指能够提供非常多的虚拟主机服务,比如能提供超过数十万个域名的虚拟主机服务。如果使用以上讨论的方法,是很难完成的。实现这种服务的一种方式是利用 Apache 功能强大的 URL 重写功能。下面以一个实例来说明这种方式。2.4.1 Apache中 URL 重写功能Apa
9、che 1.2及以后版本都有URL 重写( Rewrite )功能。简单的说,URL 重写功能就是在 Apache 接收到请求后, 在处理的过程中能根据预先设定的规则,对请求中的URL 进行修改。这些规则主要由正规表达式组成。重写依赖于输入的URL、各种服务器端环境变量、HTTP 请求头中的内容、时间,甚至可以通过外部的程序来使用数据库中的信息来帮助重写。URL 重写功能非常强大,通过URL 重写,可以使 Apache 完成异常复杂的功能。当然,URL 重写功能本身也比较复杂,关于URL 重写功能的详细说明可以参看Apache 的随机文档。2.4.2使用 Apache 中 URL 重写功能实现
10、基于名字的大规模虚拟主机设置假设机器 提供名字形如 、 等的大规模虚拟主机服务。其中虚拟主机名必须是字母或数字,并且长度至少为3。为了防止一个目录下文件或子目录太多而对性能产生很大的负面影响,对用户的目录按照名字进行分级划分,如虚拟主机 的相关文件存放在目录/member/ab/de/abcde下面。其中“ ab”“、 de”分别是“ abcde”的前边两个字符和最后两个字符。当用户请求 http:/ 时,系统应该返回 /member/ab/de/abcde 下面的文件。 下面是为了完成这种功能需要进行的设置:1.对域名服务器的设置假设 的中增加一行 :IP地址为7,
11、在域名服务器DNS的 数据文件-*INA7-这样,所有 *个虚拟主机分别进行设置。的IP地址都会被解析为7,就没有必要为各2.对 Apache 的设置首先使用命令“httpd -l”检查有,重新编译Apache。然后在 Apache 的配置文件httpd.confmod_rewrite模块是否已经编译到Apache 中,如果没中增加如下语句(其中以“#”开头的为注释) :-#禁止使用机器的正式名UseCanonicalName off#使能重写功能RewriteEngine onRewriteMap lowercase int:tolower
12、为安全考虑,对CGI 程序不进行重写RewriteCond %REQUEST_URI !/cgi-bin/# 对 不重写,其他的重写RewriteCond $lowercase:%HTTP_HOST !(.*)$RewriteCond $lowercase:%HTTP_HOST a-z0-9-+(.*)$首先把机器名改为小写,添加到请求的文件路径前,并继续处理RewriteRule (.+) $lowercase:%HTTP_HOST$1 C重写请求RewriteRule(a-z0-9)(a-z0-9)(a-z0-9)(.*)/(.*)/member/$1$2/$2$3/$1$2$3/$5Re
13、writeRule(a-z0-9)(a-z0-9)(a-z0-9*)(a-z0-9)(a-z0-9)(.*)/(.*)/member/$1$2/$4$5/$1$2$3$4$5/$7-优点:只要一个IP 地址就可以提供大量的虚拟主机服务,维护方便。缺点:安全性低。上例为了增强安全性,禁止运行用户自己的CGI程序。2.5 Apache WWW 服务器下的重定向虚拟主机设置重定向虚拟主机是指仅仅提供重定向功能,而不实际存放用户主页数据的虚拟主机。如,某站点有多个镜像服务器,假设为 、 ,, 。这些服务器放在不同的网络上,分布于各地的客户访问这些服务器的速度也互不相同。而站点 通过虚拟域名 为这些镜像
14、的服务器提供虚拟主机服务。当客户访问 http:/时,根据用户的IP地址、收集到的网络拓扑结构信息,把客户重定向到对该客户来说访问速度最快的站点。重定向虚拟主机服务也可以通过使用URL 重写功能来完成。这里仅给出简单的重写规则:-RewriteRule(a-z0-9+)(.*)/(.*)/www/cgi-bin/nph-redirect.cgi/$1/$3 T=application/x-httpd-cgi,L-其中,nph-redirect.cgi为一个 CGI 程序,为了实现自动重定向,它需要产生完整的HTTP 应答头信息。 该程序通过环境变量PATH_INFO 得到用户请求的URL,通过
15、环境变量REMOTE_ADDR得到用户的 IP 地址,并根据网络拓扑情况生成重定向信息,返回给客户。参考文献:1 Apache 1.3 Users Guide Virtual Hosting Setup Using ApacheAbstract:There are two types of WWWVirtual Hosting, IP-based and Name-based. Those two types areintroduced in this thesis, followed by some methods about WWW Virtual
16、Hosting configuration underApache and the difference between them is analyzed.谢谢,我只要的是这个The vhost.map file contains something like this:www.customer- /www/customers/1www.customer- /www/customers/2# .www.customer-N.com /www/customers/NThe http.conf contains this:RewriteEngine onRewriteMap lowercase int:tolower# define the map fileRewriteMap vhosttxt:/www/conf/vhost.map# deal with alia
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年国际空间站计划任务
- 2024年巴西消费市场趋势分析
- 2024年剪纸艺术课件:传统手工与现代设计的对话
- 2024年敕勒歌教案:教学与研究
- 《接触网施工》课件 4.1.2 滑轮补偿装置安装与调整
- 2024年视角下的PFC课件创新趋势
- 《安装工程计量与计价(第2版)》课件 第3章 安装工程清单计价
- 山东省潍坊市(2024年-2025年小学五年级语文)统编版小升初模拟(下学期)试卷及答案
- 光电设备电磁兼容性测试与研发实践(2024年版)
- 优化营商环境条例知识竞赛题及答案
- 人类社会面临的物种灭绝与生物多样性保护
- 工程检测检验
- 旅行社服务采购
- 班组消防管理制度
- 消化科护士的危重病人护理技术
- 《撰写研究报告》课件
- 视频剪辑课件
- 大米食品安全培训
- 膀胱肿瘤电切术护理查房
- 宫角妊娠教学查房课件
- 一年级上册语文声调练习题7套
评论
0/150
提交评论