468*60
RSS
热门关键字:  aa  LunarPages  JumpLaunch  HostMonster  ixwebhostingFTP
当前位置 : 虚拟主机 > 主机常识 >

在Apache 上设置虚拟主机的方法

来源:未知 作者:admin 时间:2009-06-04 20:29 浏览:

在Apache 上设置虚拟主机的方法
     目前Web网站开发技术多种多样,越来越多的网站采用Apache+PHP+Mysql技术,由于这三种软件均免费,而目对硬件、的要求也比较地,所以大大降低了网站开发成本。一台Web服务器往往需要建立很多的虚拟主机,而Apache的配置比较烦琐,并且没有如IIS一样的图形化管理界面,所以使得 羊者望而却步。
        一、虚拟主机及其应用
      虚拟主机就是运行在同一物理服务器上的具有不同名字的 Web网站。它的基本思想是:即使所有网站都运行在同一个服务器上,Apache也知道用户访问的是哪—个网站,而且能够正确地返回用户所请求的内容。
虚拟主机是这样一种特殊的技术:它使得我们可以在一台机器上运行多个web网站,支持许多不同的域名和—个域之内的多个名字,从而 邑得一台通过DSL接人的家用计算机看起来象是一屋子的服务器。这是—种非常巧妙的技术。
为什么要使用虚拟主机   
        在吉林农网下面有很多地、县网站,我们为每— 地、县网站设—个专用的虚拟主机。这些虚拟主机往往是基于名称的虚拟主机,因为这设置起来比蹬陕,而目几乎总是只在内部进行。也就是说,在ONS JI~g-器上设置一下名称和对应的IP地址,在Web服务软件匕进行以下相应的设置,就可以实现—个虚拟网站的对外发布。这种做法有着许许多多的好处。它使得我们能够设置网站的目录结构,其设置方法又和开发完成后实际运行的网站完全一样。它使得我们能够完全地分离不同网站的文件,不会出现搞不清某个文件属于哪个网站的混乱。最后,如果使用虚拟主机,不论我们同时开发的网站有多少,都无需分别为每个网站配置—个新的服务器。在任何时

二、基于IP的虚拟主机
        我们可以用两种方法设置虚拟主机。这两种方法只是服务器上配置的不同,对访问者l来说艘有什么区别,也歙d邑说,访问者无法知道他们所使用的虚拟主机属于哪一种类型,甚至不会知道自己正在使用虚拟主机。
这两种类型分别是基于1P的虚拟主杌和基于名称的虚拟主机。简单地说,两者的区别在于:使甩基于IP的虚拟主机时,每— 个虚拟主机都有一个不同的IP地址,而基于名称的虚拟主机都有相同的IP地址,但它们的名称不同。两科噗霍烙 -优点,但它们的实现方法并没有什么大的差别。
        在基于IP的虚拟主机刀.螭中,同—个服务器机器匕运行着多个Web网站,但每— 个Web网站都有其自己的IP地址。为了实现这—一点,我们首魁耍 系统E设置这些IP地址。大多数觋代操作系统都允许我们为一台机器i殳置任意多的IP地址,具体韵设置方法对每种操作系统来说都不同。我们已经将所有的IP地址设置到了机器上,每—个IP地址都有相应的DNS记录,要在Apache的httpd~onf配置文件中增加的内容如下所示。
           这里我们假定有三个IP地址,对应的名称分别为namelanydomair~com、nameZmydomairtcom和name3anydomain,como当然,这里指定的名称也可以属于完全不同的域,例如wwwxnydomain~om和myotherdomairtcom。加入httpd.conf配置文件的内容如下所示:DocumentRoot”~pmgram files/apachegroup/apache/name1_w w w ”ServerNam enam el~nydomairtcomErrorLog”c:pmgram files/apachegroup/apache/logs/namel—logs/error_log”TransferLog ”~pmgram files/apachegroup/apache/logs/namel_logs/access_log”ServerAdmin webmaster~ r@nameZmydomaJn~omDocumentRoot”apmgram files/apachegroup/apache/name2_www”ServerNam enam e2.,nydomairtcomServerAliasname2 ’DocumentRoot”~pmgram files/apachegroup/apachdnam e3_w w w ”ServerNam ename3~nydomain~omScfiptAlias ”c:program files/apachegroup/apache/name3 cgi”
         注意我们并不需要为每个虚拟主机指定所有的配置细节。只是没有指定的配置细节都将从服务器主配置文档继承。例如在上面的第二个虚拟主机中,我们没有指定记录日志的地方,这个虚拟主机将把日志信息写人主服务器日志文件。另外也请注意在第三部分中我们指定了—个CGI目录。对于其他丽个部分来说,一一48一一当用户访问—个包含/cgi-bin/的URL时,都默认使用主服务器配置中所指定的CGI目录,这是因为它们的虚拟主机配置中都没有指定CcI目录。
          重新启动服务器应用新的配置文件之后,Apache就能够腱曙URL判断用户访问的是l男 —个Web网站,在此基础匕提供正确的页面。器匕也绝不会出错。
           三、基于名称的虚拟主饥
由于IP地址资源很紧张,许多时候我们不能给一台机器指定多个IP地址的地步。同时如果接入方式为DSL接人,我们只能占有—个IPtgtak。在这种情况下,我们只能采取基于名称的虚拟主机。
使用基于名称的虚拟主机肘,我们无需为c兀|器靛多个IP地址。通过配置DNS服务器。使它将所有指定的名称解析为服务器的IP地址之后,珊瑚 球}下面的内容nⅡ人Apache服务器 翘 0件:Nam eVirtualHost192.168.1.1ServerNam enam elxnydomain~omDocumentRoot”=pmgram files/apachegroup/apache/nam e1docs”ServerAliasnamelServerNam enam e2.,nydomairtcomDocumentRoot”t=program files/apachegroup/apache/name2docs”ServerAliasnam e2ServerNam enam e3~nydonlain~omDocumentRoot”apmgram files/apachegroup/apache/nam e3docs”ServerAliname3
        主要我们注意的是:首先,我们必须用NameVirtualHost指令指定哪个IP地址负责响应对虚拟主机的请求。我们可以联合运用基于lP和基于名称的虚拟主初r一也就剖 ,可以在同一服务器匕同trl-~配置这两种虚拟主机,因此我们必须指定哪— 个IP地址用于基于名称的虚拟耋帆。如果我们要在服务器的内部接口和外部接口(即Intranet服务器和Intemet服务器)上设置虚拟主机,必须同时指定这两个地址:Nam eVirtualHost19Z16&1.1Nam eVirtualHost208.32.54.7此外,除了不同的地址之外,我们还可以在不同的端口匕运行虚拟主机,当然这会使系统变得非常复杂


顶一下
(0)
0%
踩一下
(1)
100%
上一篇:如何在教育局域网中搭建虚拟主机系统
下一篇:没有了
最新评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
表情:
用户名: 密码:
匿名评论
立即注册账号