二、Apache服务器下的虚拟主机设置技术 2.1 Apache WWW服务器简介 Apache WWW服务器是目前Internet上使用最广的WWW服务器软件。通过灵活的配置,它可以完成几乎您想得到的功能。本文主要介绍在Apache 下设置各种虚拟主机的方法。 2.2 Apache WWW服务器下基于IP地址的虚拟主机设置 使用这种虚拟主机方式,首先要在服务器上为每个虚拟主机单独设置一个IP地址。这些IP地址可以通过增加多个网卡或者在一个网卡上设立多个IP地址来完成。有了多个IP地址后,可以采用以下两种方式之一来设置Apache: 2.2.1 为每个虚拟主机运行一份Apache 采用这种方式,每一份Apache程序可以以单独的用户运行,因此各个虚拟主机之间互不影响。设置这种虚拟主机时,只要为每一份Apache设置一套配置文件就可以了,唯一需要注意的是:必须使用“Listen”语句,强制每一份Apache 仅仅在属于“自己”的IP地址上接收服务请求。 优点:各个虚拟主机之间互不干扰,安全性高。 缺点:占用系统资源较多。 2.2.2多个虚拟主机共享同一份Apache 采用这种方式,各个虚拟主机共享同一份Apache,因此各个虚拟主机之间有一定的影响,尤其是执行CGI程序时,可能会带来一些严重的安全问题。设置这种虚拟主机时,只要为每一个虚拟主机设置类似如下的信息即可 <VirtualHost www.company1.com>; DocumentRoot /home/company1 … </VirrualHost>; 优点:占用系统资源比上一种方式少。 缺点:安全性低,每个虚拟主机仍然需要占用一个IP地址。 2.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进程才能起作用。因此不适合进行大规模的虚拟主机服务。 2.4 Apache WWW服务器下基于名字的大规模虚拟主机设置 所谓大规模虚拟主机,是指能够提供非常多的虚拟主机服务,比如能提供超过数十万个域名的虚拟主机服务。如果使用以上讨论的方法,是很难完成的。实现这种服务的一种方式是利用Apache 功能强大的URL重写功能。下面以一个实例来说明这种方式。 |