虚拟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 "<h1>www.benet.com</h1>" > /usr/lcoal/httpd/htdocs/benet
[root@localhost /]#echo "<h1>www.accp.com</h1>" > /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 //创建独立的配置文件
创建完独立的配置文件后,还需要在主配置文件中加载独立配置文件。
[root@localhost /]#vim /usr/lcoal/httpd/conf/httpd.conf
......//省略部分内容
Include conf/extra/httpd-vhosts.conf
配置完所有的配置文件后重新启动服务即可。
[root@localhost /]#/usr/lcoal/httpd/bin/apachectl restart
在客户端验证时输入不同站点的域名即可访问不同网站。
基于端口的虚拟主机
这种类型通常只用于同一个web站点,其针对的网站名称,IP地址往往是相同,但通过不同的TCP端口来提供访问不同的网站。
[root@localhost /]#vim /usr/lcoal/httpd/conf/extra/httpd-vhosts.conf //创建独立的配置文件
创建完独立的配置文件后,还需要在主配置文件中加载独立配置文件并监听不同的端口。
[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
在客户端验证时输入不同的端口即可访问不同网站。
基于域名的虚拟主机
基于域名的虚拟主机是当前互联使最常用的虚拟主机,基于域名的虚拟主机主只需要不同的域名就可以搭建多个web站点。
[root@localhost /]#vim /usr/lcoal/httpd/conf/extra/httpd-vhosts.conf //创建独立的配置文件
创建完独立的配置文件后,还需要在主配置文件中加载独立配置文件。
[root@localhost /]#vim /usr/lcoal/httpd/conf/httpd.conf
......//省略部分内容
Include conf/extra/httpd-vhosts.conf
配置完所有的配置文件后重新启动服务即可。
[root@localhost /]#/usr/lcoal/httpd/bin/apachectl restart
在客户端验证时输入不同站点的域名即可访问不同网站
至此构建虚拟web主机的三种方式已经讲解完毕了,可能有些细节方面写的不是很好,希望大家谅解。