构建虚拟Web主机

构建虚拟Web主机

构建虚拟web主机

  • 虚拟web主机指的是在同一台服务器中运行多个web站点,其中的每一个站点实际上并不独立占用整个服务器,所以被称为“虚拟的”web主机。

  • 通过虚拟web主机服务可以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本。

Httpd支持的虚拟主机类型包括

  • 基于域名:为每个虚拟主机使用不同的域名,但是其对应的IP地址是相同的。最普遍。

  • 基于IP地址:为每个虚拟主机使用不同的域名,且各自对应的IP地址也不想用。这种方式需要为服务器配备多个网络接口,应用并不广泛。

  • 基于端口:不使用域名、IP地址来区分不同的站点内容,而是使用了不同的TCP端口号,因此用户在浏览不同的虚拟站点时需要同时指定端口号才能访问。

基于域名的虚拟主机:

实验描述:

实现两个虚拟web主机www.benet.comwww.accp.com为例,使用一台httpd服务器搭建,IP地址为192.168.10.1

准备工作:

1、为虚拟主机提供域名解析:

[root@ns ~]# vim /var/named/chroot/etc/named.conf

options {

directory     "/var/named";

};

zone    "benet.com"IN{

type    master;

file    "benet.com.zone";

};

zone    "accp.com"    IN{

type    master;

file    "accp.com.zone";

};

$    TTL    86400

@    SOA    benet.com.     root.benet.com. (

2013070523

4H

30M

12H

1D

)

@        IN    NS      www.benet.com.

          IN    NS      ns2.benet.com.

www    IN    A        192.168.10.1

ns2      IN    A        192.168.10.2

*           IN    A        192.168.10.1

2、为虚拟机准备网页文档:

3、添加虚拟主机配置:

  • 虚拟web主机,需要配置的方面:

  • 监听地址:使用NameVirtualHost配置想指定提供虚拟主机服务的IP地址,即进行域名查询时各虚拟Web主机的Ip地址。

  • 虚拟主机区域:使用<VirtualHost 监听地址> . . . < /VirtualHost >区域配置,为每一个虚拟web主机建立独立的配置内容。其中至少包括虚拟主机的网站名称、网页根目录的配置项,其他可根据实际需要添加。

  • 目录权限:使用<Directory 目录位置> . . . </Directory>区域配置,为每一个虚拟web主机的网站目录设置访问权限,如允许任何人访问。

vim   /usr/local/httpd/conf/extra/httpd-vhosts.conf

<Directory     "/var/www/html">

Order     allow,deny

Allow      from     all

</Directory>

Name    VirtualHost 192.168.10.1

<VirtualHost 192.168.10.1>

DocumentRoot    /var/www/html/benetcom

ServerName       www.benet.com

ErrorLog              logs/www.benet.com.error_log

CustomLog         logs/www.benet.com.access_logcommon

</VirtualHost>

<VirtualHost 192.168.10.1>

DocumentRoot    /var/www/html/accpcom

ServerName         www.accp.com

ErrorLog                logs/www.accp.com.error_log

CustomLog           logs/www.accp.com.access_logcommon

</VirtualHost>

[root@ns ~]# vim     /usr/local/httpd/conf/httpd.conf

添加Include conf/extra/httpd-vhosts.conf以便加载独立的配置文件。

重启服务使新配置生效:

4、在客户机中访问虚拟web主机:

 

基于IP地址的虚拟主机

配置基于IP地址的虚拟web主机时,不再使用NameVirtualHost配置项来指定监听服务的IP地址,而只要在每个虚拟web主机的VirtualHost配置中指定各自域名所对应的IP地址。

[root@ns ~]# vim  /usr/local/httpd/conf/extra/httpd-vhosts.conf

<Directory "/var/www/html">

Order allow,deny

Allow from all

</Directory>

<VirtualHost 210.52.149.2>

DocumentRoot    /var/www/html/benetcn

ServerName        www.benet.cn

</VirtualHost>

<VirtualHost 220.181.132.1>

DocumentRoot   /var/www/html/accpcn

ServerName       www.accp.cn

</VirtualHost>

 

构建基于端口的虚拟主机:

通常只用于同一个 web 站点,其针对的网站名称、 IP 地址往往是相同的,但通过不同的 TCP 端口来提供访问不同网页内容的服务入口。

配置基于端口的虚拟web主机时,不需要使用NameVirtualHost配置项。而是通过多个Listen配置项来指定要监听的TCP端口号,每个虚拟web主机的VirtualHost配置中应同时指定IP地址和端口号。

访问方式:http://www.accp.com:800

总结:httpd服务支持三种类型的虚拟Web主机,分别是基于域名、基于IP地址、基于端口的虚拟主机。

你可能感兴趣的:(基于域名的虚拟主机,基于ip地址的虚拟主机,基于端口的虚拟主机,虚拟web主机)