RHEL4- WEB服务(五)建立基于ip的多个虚拟web网站
 

       
在前几篇RHEL4- WEB服务(一)web服务器的安装与启动》和《 RHEL4- WEB服务(三)web服务器的配置~~~和《RHEL4- WEB服务(四)apache服务进程和端口的检测中讲述了apache从如何安装到如何配置以及apache服务进程和端口的检测。那么这一篇我们说一说apache的一个高级的应用——在一台服务器上建立多个虚拟web网站。

        说起这个在一台服务器上部署多个web网站,有两种比较常见的实现方式:其一是在同一台服务器上通过不同的ip地址来实现;其二是在同一台服务器上通过不同的网站名字来区分这些不同的网站。一台服务器提供多个web网站服务,每一个web服务就称为虚拟web网站。虚拟的web网站节省了服务器的硬件资源,也是一种高端web服务器的特点。

       在说如何构建虚拟web网站之前,先来说一说dns的问题。我们在建立多个web站点之前必须要在dns服务器中对web服务器所使用的所有ip地址和服务器的名字添加A记录。使得访问者能够浏览到服务器,没有正确的设置dns服务器,即使虚拟web服务没有问题,但是大多数人还是无法通过域名来访问你的web站点。

           这里在说一说虚拟web服务的原理,大家也许会说还说什么原理直接配置不就完了。我开始学习linux的时候也是这么想的,但是后来在配置的过程中总感觉思路混乱,一但配错就不敢去修改也不知道如何修改才能承前启后。

          默认安装apache并启动http服务以后,服务默认监听所有ip地址的80端口,无论用户输入的是服务器的哪个ip地址,当请求到达服务器的80端口的时候,服务器就会按照请求返回网站的主页。

          但是当设置了虚拟web服务器以后,虚拟服务器参数中的设置和全局参数设置有冲突时,虚拟服务器参数将覆盖全局参数设置并起作用。刚才我说过虚拟服务器可以基于不同的ip地址和不同的服务器名称甚至不同的监听端口来设置。配置好虚拟web服务器后并且apache的守护进程收到请求后,通过分析请求的服务器名、ip地址和端口号来返回相应的web网站的内容。如果没有匹配的虚拟web主机,则按照主要服务器配置来返回给请求。

        回到今天的主题:web虚拟服务器,在这一篇我只把基于ip地址的虚拟服务器配置和大家探讨一下,至于其他的实现方式在以后的篇章中和大家慢慢来探讨。不是有句老话叫做:贪多嚼不烂!

         一、基于ip地址的虚拟web服务器,首先要给这台服务器设置多个ip地址,根据ip地址的不同来访问不同的虚拟web站点。不同的ip地址可以通过在一台服务器上安装多个网卡,然后给每个网卡配一个ip地址。也可以通过命令ifconfig eth0:0 ip来给服务器添加IP地址。由于我的主机只有一块网卡,那么下面我将采用ifconfig命令给一块网卡添加多个ip地址的方式来给服务器设置多个ip地址。如下图:
 
RHEL4- WEB服务(五)建立基于ip的多个虚拟web网站_五
 
 

 

这是在没有配置多个ip之前的网卡情况。第一个eth0是本机网卡ipip地址是192.168.101.10lo是本机回环地址。         
     使用命令ifconfig命令给服务器添加多个ip地址,如下图所示:
 
 
 
RHEL4- WEB服务(五)建立基于ip的多个虚拟web网站_基于ip_02
 
 

 

 

 

 

大家对比一下设置前和设置后的情况,可以看出多个两个网卡标识符:eth00ip地址是192.168.101.11。另一个eth01ip地址是192.168.101.12
 
      这样设置完多个ip后重启服务器该ip地址会丢失,如果希望每次启动都可以使用这种配置就要在/etc/sysconfig/network-scripts 下添加文件ifcfg-eth0:0和ifcfg-eth0:1。如下图所示:
 
RHEL4- WEB服务(五)建立基于ip的多个虚拟web网站_虚拟_03
 
然后分别给两个文件添加内容。

 


例如ifcfg-eth0:0文件添加如下内容

   IPADDR=192.168.101.11
   NETMASK=255.255.255.0
   ONBOOT=YES             //这句的意思就是启动可以生效
 
给ifcfg-eth0:1文件添加如下内容


   IPADDR=192.168.101.12
   NETMASK=255.255.255.0
   ONBOOT=YES               //这句的意思就是启动可以生效
 
设置好ip后,就可以配置httpd.conf主配置文件来设置虚拟web网站了(期待已久的时刻终于到了!哈哈!)在配置文件的末尾部分添加如下内容,下图是配置前配置文件末尾的情况:
 
RHEL4- WEB服务(五)建立基于ip的多个虚拟web网站_RHEL4_04
 
那么下图是配置后配置问价末尾的情况,大家可以对比一下添加了那些内容:
 
RHEL4- WEB服务(五)建立基于ip的多个虚拟web网站_基于ip_05
 
 
     添加完相关的内容我们保存并推出编辑。但是要注意因为我们在配置文件中指定了连个站点的根目录,也就是存放网页的文件夹,/home/web1和/home/web2所以我们要在home文件夹下建立这个两个文件夹,并在文件夹中各放入网页文件。至于如何建立我将不在重复阐述,在前面的文章中我已经提到过。这时候重新启动服务让服务器重新应用配置文件,到此两个虚拟web站点已经建立完毕。
    
三、测试虚拟web站点。

    我们分别在浏览其中输入这两个虚拟web站点的ip地址,看看是不是可以访问两个web站点,其实它是一台服务器上的两个web站点。是不是很好玩!赶快去试一试吧!

    在下一篇我将讲述如何在一台服务器上构建多个基于域名的虚拟web站点,敬请期待!
 
 
 
 

—————————————————————————————————

特别声明:--

一、本文为原创,著作权及使用权为(作者笔名:闪电cto)本人所有。 ­

二、本文首发于51cto个人博客(http://xudeqiang.blog.51cto.com)。  ­

三、本文只供互联网上的读者分享,不供共享范畴,希知。 ­

四、未经许可严禁对本文作修改、节选、断章性质的处理。 ­

五、可转载,但必须注明原文章首发的出处网址,及文章作者,严禁复制。 ­

六、如若转摘用于杂志网络媒体新闻,必须通知作者得到允许后方可,需收稿费。­

七、作者联系信息:QQ:306718122   邮箱levinboy@foxmail.com

—————————————————————————————