1. Apache WWW服务器简介
Apache WWW服务器是目前Internet上使用最广的WWW服务器软件。通过灵活的配置,它可以完成几乎您想得到的功能。本文主要介绍在Apache 下设置各种虚拟主机的方法。
2. Apache WWW服务器下基于IP地址的虚拟主机设置
使用这种虚拟主机方式,首先要在服务器上为每个虚拟主机单独设置一个IP地址。这些IP地址可以通过增加多个网卡或者在一个网卡上设立多个IP地址来完成。有了多个IP地址后,可以采用以下两种方式之一来设置Apache:
2.1 为每个虚拟主机运行一份Apache
采用这种方式,每一份Apache程序可以以单独的用户运行,因此各个虚拟主机之间互不影响。设置这种虚拟主机时,只要为每一份Apache设置一套配置
文件就可以了,唯一需要注意的是:必须使用“Listen”语句,强制每一份Apache 仅仅在属于“自己”的IP地址上接收服务请求。
优点:各个虚拟主机之间互不干扰,安全性高。
缺点:占用系统资源较多。
2.2多个虚拟主机共享同一份Apache
采用这种方式,各个虚拟主机共享同一份Apache,因此各个虚拟主机之间有一定的影响,尤其是执行CGI程序时,可能会带来一些严重的安全问题。设置这种虚拟主机时,只要为每一个虚拟主机设置类似如下的信息即可:
<VirtualHost www.company1.com>
DocumentRoot /home/company1
…
</VirrualHost>
优点:占用系统资源比上一种方式少。
缺点:安全性低,每个虚拟主机仍然需要占用一个IP地址。
3. Apache WWW服务器下简单的基于名字的虚拟主机设置
这种方式下,各个虚拟主机共享同一份Apache,因此有CGI程序运行时,安全性也不高。设置这种虚拟主机时,只要为每一个虚拟主机设置类似如下的信息即可
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>
优点:只要一个IP地址就可以提供大量的虚拟主机服务。
缺点:安全性差。维护这些虚拟主机时需要更改配置文件,并且需要重新启动Apache进程才能起作用。因此不适合进行大规模的虚拟主机服务。
4 Apache WWW服务器下基于名字的大规模虚拟主机设置
所谓大规模虚拟主机,是指能够提供非常多的虚拟主机服务,比如能提供超过数十万个域名的虚拟主机服务。如果使用以上讨论的方法,是很难完成的。实现这种服务的一种方式是利用Apache 功能强大的URL重写功能。下面以一个实例来说明这种方式。
4.1 Apache中URL重写功能
Apache 1.2及以后版本都有URL重写(Rewrite)功能。简单的说,URL重写功能就是在Apache接收到请求后,在处理的过程中能根据
预先设定的规则,对请求中的URL进行修改。这些规则主要由正规表达式组成。重写依赖于输入的URL、各种服务器端环境变量、HTTP请求头中的内容、时
间,甚至可以通过外部的程序来使用数据库中的信息来帮助重写。
URL重写功能非常强大,通过URL重写,可以使Apache完成异常复杂的功能。当然,URL重写功能本身也比较复杂,关于URL重写功能的详细说明可以参看Apache 的随机文档。
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下面的文件。
动画教程http://www.hack58.net/Soft/53/2005/200507191419.htm
一个IP绑定多个域名
很多虚拟主机,只有一个IP,很多个域名都指向该IP,但都能访问自己域名所在的网站的内容,这就是一个IP绑定多个域名的技术。下面我们一起来学习学习是怎么做的
首先,你应该确认你的两个域名都指向了主机IP,我们拿JZ173.COM和xxsky.com来举个例子
我们应该首先将这两个域名都指向一个IP,如192.168.4.88
然后,我们才能开始我们今天的学习
我们先来新建两个文件夹,为方便辨认,分别取名jz173.com和xxsky.com,两个文件夹中可以分别放各自的内容
接下来,我们进入IIS设置
我们新建两个WEB站点,分别为jz173.com和xxsky.com,名字没什么意思,只是方便辨认。
首先建立jz173.com站点
注意,此处为关键处,主机头应该输入你这个WEB站点对应的域名,如现在这个站点对应的域名应该是jz173.com
路径为我们刚刚新建的文件夹jz173.com
OK,第一个站点建立完成
同样的方法,我们可以建立第二个站点xxsky.com
此处的主机头应该输入xxsky.com
路径为我们刚刚新建的文件夹xxsky.com
IIS设置完成
现在你的主机就绑定了两个域名了
谢谢观看
一个虚拟主机可以绑定多个域名吗?
分二种情况:
1。同样的主目录可以绑定多个域名
比如您的网站希望用www.acbd.com 和 abcd.zj01.com 都能访问,那么您只要登陆虚拟主机管理自行设置,当然前提是您的域名已经指到了您所在的服务器IP。
2。不同的目录不可以绑定多个域名
比如您的网站内有一个目录:bbs 您想用 www.zj01.com 访问您的主目录,又想用bbs.zj01.com 访问您的 bbs 目录,那么您只能通过 url转发(网址转发)的形式,(url转发您自己可以设置)最后出来的效果还是一样的。
具体设置方法请参考:http://www.zj01.com/help.asp?id=10
IIS:先把DNS解析都指向本机,然后直接添加网站,都监听80端口,主机名那里直接天上不同的域名即可。Apache:使用虚拟主机,指定端口80,同时在Listen也要写上全部要监听的端口,都是80,这一个就好,然后在ServerName和ServerAlisa指定对应域名即可。
谢谢!
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)