说起这个在一台服务器上部署多个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地址。如下图:
例如ifcfg-eth0:0文件添加如下内容
IPADDR=192.168.101.11
NETMASK=255.255.255.0
ONBOOT=YES //这句的意思就是启动可以生效
————————————————————————————————— 特别声明:-- 一、本文为原创,著作权及使用权为(作者笔名:闪电cto)本人所有。 二、本文首发于51cto个人博客(http://xudeqiang.blog.51cto.com)。 三、本文只供互联网上的读者分享,不供共享范畴,希知。 四、未经许可严禁对本文作修改、节选、断章性质的处理。 五、可转载,但必须注明原文章首发的出处网址,及文章作者,严禁复制。 六、如若转摘用于杂志网络媒体新闻,必须通知作者得到允许后方可,需收稿费。 七、作者联系信息:QQ:306718122 邮箱levinboy@foxmail.com —————————————————————————————
IPADDR=192.168.101.12
NETMASK=255.255.255.0
ONBOOT=YES //这句的意思就是启动可以生效
我们分别在浏览其中输入这两个虚拟web站点的ip地址,看看是不是可以访问两个web站点,其实它是一台服务器上的两个web站点。是不是很好玩!赶快去试一试吧!
在下一篇我将讲述如何在一台服务器上构建多个基于域名的虚拟web站点,敬请期待!