|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
学会了生成静态网页,现在你应该接触一下XML了,恩,XML也了解了,那么AJAX你也得接触接触吧?AJAX完了....然后... <P style="TEXT-INDENT: 2em">1、WWW办事器虚拟主机道理 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">WWW办事器虚拟主机是指利用一台物理机械,充任多个主机名的WWW办事器。好比由一台机械同时供应http://www.company1.com, http://www.company2.com 等的WWW办事,而阅读这些WWW站点的用户感到不到这类体例下跟由分歧的机械供应分歧的办事有甚么不同。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">利用WWW虚拟主机的优点在于,一些小范围的网站,经由过程跟其他网站同享统一台物理机械,可以削减体系的运转本钱,而且可以削减办理的难度。别的,关于团体用户,也能够利用这类虚拟主机体例来创立有本人自力域名的WWW办事器,今朝国际有良多公司都供应这类收费的办事。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">WWW虚拟主机有两种任务体例: <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">1.1 基于IP地址的虚拟主机体例 <P style="TEXT-INDENT: 2em">这类体例下,分歧的主机名解析到分歧的IP地址,供应虚拟主机办事的机械上同时设置有这些IP地址。办事器依据用户恳求的目标IP地址来剖断用户恳求的是哪一个虚拟主机的办事,从而进一步的处置。 <P style="TEXT-INDENT: 2em">弱点:基于IP地址的虚拟主机体例需求在供应虚拟主机办事的机械上设立多个IP地址,既华侈了IP地址,又限制了一台机械所能包容的虚拟主机数量。因而这类体例愈来愈少利用。然而,这类体例是初期利用的HTTP 1.0协定独一撑持的虚拟主机体例。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">1.2 基于主机名的虚拟主机体例 <P style="TEXT-INDENT: 2em">因为基于IP地址的虚拟主机体例有如上的弱点,HTTP 1.1协定中增添了对基于主机名的虚拟主机的撑持。详细说,当客户法式向WWW办事器收回恳求时,客户想要会见的主机名也经由过程恳求头中的“Host:”语句传递给WWW办事器。好比,www.company1.com, www.company2.com 都对应于统一个IP地址(即由统一台机械来给这两个虚拟域名供应办事),客户法式要存取http://www.company1.com/index.html时,收回的恳求头中包括有以下的内容: <P style="TEXT-INDENT: 2em">GET /index.html HTTP/1.1 <P style="TEXT-INDENT: 2em">Host: www.company1.com <P style="TEXT-INDENT: 2em">….. <P style="TEXT-INDENT: 2em">WWW办事器法式吸收到这个恳求后,可以经由过程反省“Host:”语句,来剖断客户法式恳求是哪一个虚拟主机的办事,然后再进一步的处置。 <P style="TEXT-INDENT: 2em">长处:供应虚拟主机办事的机械上只需设置一个IP地址,实际上就能够给有数多个虚拟域名供应办事,占用资本少,办理便利。今朝根基上都是利用这类体例来供应虚拟主机办事。 <P style="TEXT-INDENT: 2em">弱点:在初期的HTTP 1.0版本下不克不及利用。实践上如今利用的阅读器根基上都撑持基于主机名的虚拟主机体例。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">2、Apache办事器下的虚拟主机设置手艺 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">2.1 Apache WWW办事器简介 <P style="TEXT-INDENT: 2em">Apache WWW办事器是今朝Internet上利用最广的WWW办事器软件。经由过程天真的设置装备摆设,它可以完成几近您想失掉的功效。本文次要引见在Apache 下设置各类虚拟主机的办法。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">2.2 Apache WWW办事器下基于IP地址的虚拟主机设置 <P style="TEXT-INDENT: 2em">利用这类虚拟主机体例,起首要在办事器上为每一个虚拟主机独自设置一个IP地址。这些IP地址可以经由过程增添多个网卡或在一个网卡上设立多个IP地址来完成。有了多个IP地址后,可以采取以下两种体例之一来设置Apache: <P style="TEXT-INDENT: 2em">2.2.1 为每一个虚拟主机运转一份Apache <P style="TEXT-INDENT: 2em">采取这类体例,每份Apache法式可以以独自的用户运转,因而各个虚拟主机之间互不影响。设置这类虚拟主机时,只需为每份Apache设置一套设置装备摆设文件就能够了,独一需求注重的是:必需利用“Listen”语句,强迫每份Apache 仅仅在属于“本人”的IP地址上吸收办事恳求。 <P style="TEXT-INDENT: 2em">长处:各个虚拟主机之间互不搅扰,平安性高。 <P style="TEXT-INDENT: 2em">弱点:占用体系资本较多。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">2.2.2多个虚拟主机同享统一份Apache <P style="TEXT-INDENT: 2em">采取这类体例,各个虚拟主机同享统一份Apache,因而各个虚拟主机之间有必定的影响,特别是履行CGI法式时,能够会带来一些严重的平安成绩。设置这类虚拟主机时,只需为每个虚拟主机设置相似以下的信息便可: <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">- <VirtualHost www.company1.com>; DocumentRoot /home/company1 … </VirrualHost>;
复制代码 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">长处:占用体系资本比上一种体例少。 <P style="TEXT-INDENT: 2em">弱点:平安性低,每一个虚拟主机依然需求占用一个IP地址。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">2.3 Apache WWW办事器下复杂的基于名字的虚拟主机设置 <P style="TEXT-INDENT: 2em">这类体例下,各个虚拟主机同享统一份Apache,因而有CGI法式运转时,平安性也不高。设置这类虚拟主机时,只需为每个虚拟主机设置相似以下的信息便可 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">- NameVirtualHost 111.222.33.44 ; 在这个IP地址吸收虚拟主机的办事 <VirtualHost 111.222.33.44>; ServerName www.company1.com DocumentRoot /www/company1 </VirtualHost>; <VirtualHost 111.222.33.44>; ServerName www.company2.com DocumentRoot /www/company2 </VirtualHost>;
复制代码 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">长处:只需一个IP地址就能够供应大批的虚拟主机办事。 <P style="TEXT-INDENT: 2em">弱点:平安性差。保护这些虚拟主机时需求更改设置装备摆设文件,而且需求从头启动Apache历程才干起感化。因而不合适停止大范围的虚拟主机办事。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">2.4 Apache WWW办事器下基于名字的大范围虚拟主机设置 <P style="TEXT-INDENT: 2em">所谓大范围虚拟主机,是指可以供应十分多的虚拟主机办事,好比能供应超越数十万个域名的虚拟主机办事。假如利用以上会商的办法,是很难完成的。完成这类办事的一种体例是使用Apache 功效壮大的URL重写功效。上面以一个实例来讲明这类体例。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">2.4.1 Apache中URL重写功效 <P style="TEXT-INDENT: 2em">Apache 1.2及今后版本都有URL重写(Rewrite)功效。复杂的说,URL重写功效就是在Apache吸收到恳求后,在处置的过程当中能依据事后设定的划定规矩,对恳求中的URL停止修正。这些划定规矩次要由正轨表达式构成。重写依附于输出的URL、各类办事器端情况变量、HTTP恳求头中的内容、工夫,乃至可以经由过程内部的法式来利用数据库中的信息来匡助重写。 <P style="TEXT-INDENT: 2em">URL重写功效十分壮大,经由过程URL重写,可使Apache完成异常庞杂的功效。固然,URL重写功效自己也对照庞杂,关于URL重写功效的具体申明可以参看Apache 的随机文档。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">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上面的文件。
<P style="TEXT-INDENT: 2em">上面是为了完成这类功效需求停止的设置 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">1. 对域名办事器的设置 <P style="TEXT-INDENT: 2em">假定www.home.com的IP地址为202.103.190.57,在域名办事器DNS的home.com数据文件中增添一行: <P style="TEXT-INDENT: 2em">-------------------------------------------------------------------- <P style="TEXT-INDENT: 2em">* IN A 202.103.190.57 <P style="TEXT-INDENT: 2em">-------------------------------------------------------------------- <P style="TEXT-INDENT: 2em">如许,一切 *.home.com的IP地址城市被解析为202.103.190.57,就没有需要为各个虚拟主机分离停止设置。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">2. 对Apache的设置 <P style="TEXT-INDENT: 2em">起首利用号令“httpd -l”反省mod_rewrite模块是不是已编译到Apache中,假如没有,从头编译Apache。 <P style="TEXT-INDENT: 2em">然后在Apache的设置装备摆设文件httpd.conf中增添以下语句(个中以“#”开首的为正文): <P style="TEXT-INDENT: 2em">----------------------------------------------------------------------- <P style="TEXT-INDENT: 2em">#制止利用机械的正式名 <P style="TEXT-INDENT: 2em">UseCanonicalName off <P style="TEXT-INDENT: 2em">#使能重写功效 <P style="TEXT-INDENT: 2em">RewriteEngine on <P style="TEXT-INDENT: 2em">RewriteMap lowercase int:tolower <P style="TEXT-INDENT: 2em"># 为平安思索,对CGI法式不停止重写 <P style="TEXT-INDENT: 2em">RewriteCond %{REQUEST_URI} !^/cgi-bin/ <P style="TEXT-INDENT: 2em"># 对www.home.com不重写,其他的重写 <P style="TEXT-INDENT: 2em">RewriteCond ${lowercase:%{HTTP_HOST}} !^www\.home\.com(\.*)$ <P style="TEXT-INDENT: 2em">RewriteCond ${lowercase:%{HTTP_HOST}} ^[a-z0-9-]+\.home\.com(\.*)$ <P style="TEXT-INDENT: 2em"># 起首把机械名改成小写,添加到恳求的文件途径前,并持续处置 <P style="TEXT-INDENT: 2em">RewriteRule ^(.+) ${lowercase:%{HTTP_HOST}}$1 [C] <P style="TEXT-INDENT: 2em"># 重写恳求 <P style="TEXT-INDENT: 2em">RewriteRule ^([a-z0-9])([a-z0-9])([a-z0-9])\.home\.com([\.]*)/(.*) /member/$1$2/$2$3/$1$2$3/$5 <P style="TEXT-INDENT: 2em">RewriteRule ^([a-z0-9])([a-z0-9])([a-z0-9]*)([a-z0-9])([a-z0-9])\.home\.com([\.]*)/(.*) /member/$1$2/$4$5/$1$2$3$4$5/$7 <P style="TEXT-INDENT: 2em">------------------------------------------------------------------------- <P style="TEXT-INDENT: 2em">长处:只需一个IP地址就能够供应大批的虚拟主机办事,保护便利。 <P style="TEXT-INDENT: 2em">弱点:平安性低。上例为了加强平安性,制止运转用户本人的CGI法式。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">2.5 Apache WWW办事器下的重定向虚拟主机设置 <P style="TEXT-INDENT: 2em">重定向虚拟主机是指仅仅供应重定向功效,而不实践寄存用户主页数据的虚拟主机。好比,某站点有多个镜像办事器,假定为www1.user.com、www2.user.com,…wwwn.user.com。这些办事器放在分歧的收集上,散布于各地的客户会见这些办事器的速度也互不不异。而站点www.home.com经由过程虚拟域名user.home.com为这些镜像的办事器供应虚拟主机办事。当客户会见http://user.home.com时,www.home.com依据用户的IP地址、搜集到的收集拓扑布局信息,把客户重定向到对该客户来讲会见速度最快的站点。 <P style="TEXT-INDENT: 2em">重定向虚拟主机办事也能够经由过程利用URL重写功效来完成。这里仅给出复杂的重写划定规矩: <P style="TEXT-INDENT: 2em">------------------------------------------------------------------------- <P style="TEXT-INDENT: 2em">RewriteRule ^([a-z0-9]+)\.home\.com([\.]*)/(.*) /www/cgi-bin/nph-redirect.cgi/$1/$3 [T=application/x-httpd-cgi,L] <P style="TEXT-INDENT: 2em">------------------------------------------------------------------------- <P style="TEXT-INDENT: 2em">个中,nph-redirect.cgi为一个CGI法式,为了完成主动重定向,它需求发生完全的HTTP 应对头信息。该法式经由过程情况变量PATH_INFO失掉用户恳求的URL,经由过程情况变量REMOTE_ADDR失掉用户的IP地址,并依据收集拓扑情形生成重定向信息,前往给客户。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">参考文献: <P style="TEXT-INDENT: 2em">1.Apache 1.3 User's Guide http://www.apache.org <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Virtual Hosting Setup Using Apache <P style="TEXT-INDENT: 2em">Abstract: There are two types of WWW Virtual Hosting, IP-based and Name-based. Those two types are introduced in this thesis, followed by some methods about WWW Virtual Hosting configuration under Apache and the difference between them is analyzed.
php manual(PHP手册)肯定是要从网上下载一个的,它很权威,也很全面,我自己认为它是一本很好的参考书,但是不适合新手当教材使用。 |
|