虚拟Web主机指的是在同一台服务器中运行多个Web站点,其中每个站点并不独占整台服务器的资源。通过虚拟Web主机可以充分利用服务器的硬件资源,从而大大降低了网站构建及运行成本


虚拟主机的类型

    前面已经写过了在IIS中搭建虚拟Web主机了,在httpd服务与IIS基本原理一样,都支持三种类型的虚拟主机:

(1)基于域名:为每个虚拟主机使用不同的域名,但对应的IP地址是相同的

(2)基于IP地址:为每个虚拟主机使用不同的域名,对应的IP地址也是不同的

(3)基于端口:使用不同的TCP端口号,区分不同的站点内容

    其中,基于域名的虚拟主机是使用最为广泛的。因为不同类型的虚拟主机的区分机制各不相同,建议不要同时使用,以免相互混淆


1. 基于域名的虚拟主机

实验环境

    某公司的网站服务器使用IP地址192.168.1.1,并使用该IP地址注册了两个域名www.ysf.com和www.yangshufan.com。服务器已经安装了RHEL6操作系统,并通过源码编译安装了httpd服务和named服务,现需要对其进行配置,以支持这两个Web站点

需求描述

(1)站点www.ysf.com的网页文档存放在服务器的/var/www/http/ysf目录下

(2)站点www.yangshufan.com的网页文档存放在服务器的/var/www/http/yangshufan目录下

(3)使用基于域名的虚拟主机服务器,用于支撑两个以上的Web站点

(4)其中www.ysf.com站点只对公司内部员工开放,访问时需要进行用户认证


实验步骤:

(1)修改named服务的配置文件

    编辑named服务的配置文件,使其可以解析www.ysf.com和www.yangshufan.com  

httpd服务之构建虚拟Web主机_Apache

httpd服务之构建虚拟Web主机_Apache_02

httpd服务之构建虚拟Web主机_虚拟主机_03

httpd服务之构建虚拟Web主机_虚拟主机_04

httpd服务之构建虚拟Web主机_虚拟主机_05httpd服务之构建虚拟Web主机_httpd_06


(2)分别为虚拟主机准备网页文档

httpd服务之构建虚拟Web主机_虚拟主机_07


(3)配置虚拟主机

httpd服务之构建虚拟Web主机_虚拟主机_08

httpd服务之构建虚拟Web主机_Apache_09

httpd服务之构建虚拟Web主机_虚拟主机_10

httpd服务之构建虚拟Web主机_httpd_11


(4)使用htpasswd工具进行用户授权

httpd服务之构建虚拟Web主机_Apache_12

httpd服务之构建虚拟Web主机_httpd_13

httpd服务之构建虚拟Web主机_虚拟主机_14

httpd服务之构建虚拟Web主机_httpd_15


(5)在客户机上访问虚拟主机

httpd服务之构建虚拟Web主机_Apache_16


httpd服务之构建虚拟Web主机_虚拟主机_17



2. 基于IP地址的虚拟主机

    不在使用NameVirtualHost配置项监听IP地址

httpd服务之构建虚拟Web主机_httpd_13

httpd服务之构建虚拟Web主机_httpd_19




3. 基于端口的虚拟主机

    也不在使用NameVirtualHost配置项监听IP地址,而是监听端口号。

httpd服务之构建虚拟Web主机_httpd_13

httpd服务之构建虚拟Web主机_Apache_21

httpd服务之构建虚拟Web主机_虚拟主机_10

httpd服务之构建虚拟Web主机_Apache_23