虚拟web主机指的是在同一台服务器中运行多个web站点,其中的每一个站点实际并不独立占用整个服务器,因此被称为“虚拟的web主机”。在搭建虚拟web主机时,可以使用三种方法搭建虚拟web服务,基于IP地址、基于端口号和基于域名的。常用的是基于域名构建虚拟web主机。那么我们就来了解一下怎样搭建这三种不同的虚拟web主机。

基于IP地址的虚拟主机:为每个虚拟主机使用不同的域名,不同的IP来实现。

基于端口的虚拟主机:这中方式不使用域名、IP地址来区分,而是使用不同的端口号来实现。

基于域名的虚拟主机:为每个虚拟主机使用不同的域名,且IP地址和端口号不变。


准备工作

1、在搭建虚拟主机之前我们先创建两个不同网站根目录,并创建首页文件。

[root@localhost /]#mkdir /usr/local/httpd/htdocs/benet

[root@localhost /]#mkdir /usr/local/httpd/htdocs/accp

[root@localhost /]#echo "

www.benet.com

" > /usr/lcoal/httpd/htdocs/benet

[root@localhost /]#echo "

www.accp.com

" > /usr/lcoal/httpd/htdocs/accp

2、搭建DNS服务,为虚拟主机提供域名解析服务。

如何搭建DNS服务请参考文章:RHEL 5服务篇—部署DNS域名解析服务

3、搭建虚拟web主机时。建议使用独立的虚拟配置文件,然后在httpd.conf文件通过lnclude加载这些配置,这样可以将对httpd.conf文件的改动减至最少,更方便配置内容的维护。


基于IP地址的虚拟主机

使用这种方式大家虚拟主机的很少,大多使用基于域名的方式。在搭建基于IP地址的虚拟主机时,需要为主机添加多块网卡设备。

[root@localhost /]#vim /usr/lcoal/httpd/conf/extra/httpd-vhosts.conf   //创建独立的配置文件

RHEL 5服务篇—使用Apache搭建web服务(三)构建web虚拟主机_第1张图片

创建完独立的配置文件后,还需要在主配置文件中加载独立配置文件。

[root@localhost /]#vim /usr/lcoal/httpd/conf/httpd.conf

......//省略部分内容

Include conf/extra/httpd-vhosts.conf

配置完所有的配置文件后重新启动服务即可。

[root@localhost /]#/usr/lcoal/httpd/bin/apachectl restart

在客户端验证时输入不同站点的域名即可访问不同网站。

RHEL 5服务篇—使用Apache搭建web服务(三)构建web虚拟主机_第2张图片




基于端口的虚拟主机

这种类型通常只用于同一个web站点,其针对的网站名称,IP地址往往是相同,但通过不同的TCP端口来提供访问不同的网站。

[root@localhost /]#vim /usr/lcoal/httpd/conf/extra/httpd-vhosts.conf //创建独立的配置文件

RHEL 5服务篇—使用Apache搭建web服务(三)构建web虚拟主机_第3张图片

创建完独立的配置文件后,还需要在主配置文件中加载独立配置文件并监听不同的端口。

[root@localhost /]#vim /usr/lcoal/httpd/conf/httpd.conf

......//省略部分内容

Listen 192.168.1.10:80

Listen 192.168.1.10:8080

Include conf/extra/httpd-vhosts.conf

配置完所有的配置文件后重新启动服务即可。

[root@localhost /]#/usr/lcoal/httpd/bin/apachectl restart

在客户端验证时输入不同的端口即可访问不同网站。

RHEL 5服务篇—使用Apache搭建web服务(三)构建web虚拟主机_第4张图片




基于域名的虚拟主机

基于域名的虚拟主机是当前互联使最常用的虚拟主机,基于域名的虚拟主机主只需要不同的域名就可以搭建多个web站点。

[root@localhost /]#vim /usr/lcoal/httpd/conf/extra/httpd-vhosts.conf //创建独立的配置文件

RHEL 5服务篇—使用Apache搭建web服务(三)构建web虚拟主机_第5张图片

创建完独立的配置文件后,还需要在主配置文件中加载独立配置文件。

[root@localhost /]#vim /usr/lcoal/httpd/conf/httpd.conf

......//省略部分内容

Include conf/extra/httpd-vhosts.conf

配置完所有的配置文件后重新启动服务即可。

[root@localhost /]#/usr/lcoal/httpd/bin/apachectl restart

在客户端验证时输入不同站点的域名即可访问不同网站RHEL 5服务篇—使用Apache搭建web服务(三)构建web虚拟主机_第6张图片


至此构建虚拟web主机的三种方式已经讲解完毕了,可能有些细节方面写的不是很好,希望大家谅解。