基于DNS轮询和NFS实现简单的网站负载均衡
试验简述:分别在host1和host2上安装php和httpd服务器,并部署Discuz站点,在host2上安装DNS服务,用于通过轮询,向客户提供站点bbs.test.com网站的IP地址.在host3上分别提供mysql数据库用于存放站点数据.,部署LFS服务用于向用户提供附件头像等上传的空间.
1. 在各服务器上分别安装对应服务器程序
Host1: yum -y install httpd php php-mysql
Host2: yum -y install httpd php php-mysql bind
Host3: yum install mysql-server mysql
2. 配置host1和host2上的httpd服务器
分别编辑两台主机的/etc/httpd/conf/httpd.conf,修改主机名,根路径以及添加对根路径的权限
ServerName bbs.test.com
DocumentRoot "/bbs"
<Directory /bbs>
Options none
Order allow,deny
allow from all
</Directory>
分别添加测试页面/bbs/index.php,内容如下
<?php
phpinfo();
?>
分别访问host1和host2,可以看到如下信息,说明网站和php已经运行成功
3. 配置mysql数据库,使账号dz可以分别从hosta和hostb访问dz数据库,并有完全访问权限
mysql> create database dz;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on dz to ‘dz‘@‘172.16.21.101‘ IDENTIFIED BY ‘123456‘;
ERROR 1046 (3D000): No database selected
mysql> grant all on dz.* to ‘dz‘@‘172.16.21.101‘ IDENTIFIED BY ‘123456‘;
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on dz.* to ‘dz‘@‘172.16.21.102‘ IDENTIFIED BY ‘123456‘;
Query OK, 0 rows affected (0.00 sec)
4. 分别在host1和host2上添加测试页面mysql.php,内容如下:
访问指定页面,可见数据库已经连接成功
5. 在host3搭建DNS服务器,将bbs.test.com分别解析到172.16.21.101和172.16.21.102
编辑named主配置文件/etc/named.conf,添加正向区域,内容如下:
添加正向区域解析文件var/named/test.com.zone,内容如下
使用本服务器进行解析,可见每次返回的地址顺序会发生改变,利用此可以实现服务器轮询访问.
6. 配置LFS服务,配置正确的选项
在host3上编辑 /etc/exports,
使用exportfs -arv重新加载挂载项
7. 安装Discuz站点
在host1上解压站点到/bbs目录
通过访问IP地址来安装Discuz站点,根据提示安装
选择全新安装进行安装
服务器自动创建数据表
此时我们的数据库已经安装完毕
将此站点目录下所由内容压缩复制到host2一份,并在host2上解压到/bbs,通过host2 IP访问正常
8. 图片附件等数据互通
将host1上./data下的文件复制按照host1传送到host2到host3的/upload一份,
删除host1和2的data目录下的数据
分别在host1和host2上挂载host3上的upload,挂载至data目录,并加入到fatab实现开机自动挂载
9. 测试
通过域名访问并写一个帖子上传附件
分别通过两个IP访问,测试附件能否被正常访问
可见,通过两个IP均能访问附件资源,试验成功!!!
本文出自 “淡淡” 博客,请务必保留此出处http://dddbk.blog.51cto.com/6837943/1541346
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。