首页 > 代码库 > 基于DNS轮询和NFS实现简单的网站负载均衡

基于DNS轮询和NFS实现简单的网站负载均衡


试验简述:分别在host1host2上安装phphttpd服务器,并部署Discuz站点,host2上安装DNS服务,用于通过轮询,向客户提供站点bbs.test.com网站的IP地址.host3上分别提供mysql数据库用于存放站点数据.,部署LFS服务用于向用户提供附件头像等上传的空间.

wKioL1PwmzjzvXCQAADYLFXOZec471.jpg

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. 配置host1host2上的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();

?>

分别访问host1host2,可以看到如下信息,说明网站和php已经运行成功

wKiom1PwmiWgp8O4AANBAcmO-UE956.jpg 

3. 配置mysql数据库,使账号dz可以分别从hostahostb访问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. 分别在host1host2上添加测试页面mysql.php,内容如下:

wKioL1Pwmz6Al9B0AAB1fr3bvSo491.jpg 

访问指定页面,可见数据库已经连接成功

wKiom1Pwmibh8VEXAABzOvFh0R0341.jpg 

5. host3搭建DNS服务器,bbs.test.com分别解析到172.16.21.101172.16.21.102

编辑named主配置文件/etc/named.conf,添加正向区域,内容如下:

    wKioL1Pwmz7CL0C0AAAsuFKov0s883.jpg

添加正向区域解析文件var/named/test.com.zone,内容如下

wKiom1PwmiaiZ84bAABtFh9J3PU579.jpg

 

 

使用本服务器进行解析,可见每次返回的地址顺序会发生改变,利用此可以实现服务器轮询访问.

wKioL1Pwmz_QZN--AAEVLepy2q4647.jpg 

6. 配置LFS服务,配置正确的选项

host3上编辑 /etc/exports, 

wKioL1Pwmz-gecppAABAj-HwfU4736.jpg 

使用exportfs -arv重新加载挂载项

wKiom1PwmiehAbfMAABNclRU8KM509.jpg 

7. 安装Discuz站点

host1上解压站点到/bbs目录

wKiom1Pwmijgsa9xAACEEyHg9qw455.jpg 

通过访问IP地址来安装Discuz站点,根据提示安装

 wKioL1Pwm0ODe0WdAAE6MX2RwFM190.jpg

选择全新安装进行安装

wKiom1PwmizCTdu8AADHq_m_8pw913.jpg 

wKioL1Pwm0aiou8JAAE90KzPe10189.jpg 

服务器自动创建数据表

 wKiom1PwmjDAEK4DAAF9gkxBfcI980.jpg

此时我们的数据库已经安装完毕

wKiom1PwnMySzo3uAAFqOKzfklI343.jpg

将此站点目录下所由内容压缩复制到host2一份,并在host2上解压到/bbs,通过host2 IP访问正常

8. 图片附件等数据互通

host1./data下的文件复制按照host1传送到host2host3/upload一份,

wKioL1Pwm0qxAZqdAABu6mctlWU366.jpg 

删除host12data目录下的数据

wKiom1PwmjKjd_mrAAAcxHDp9y4140.jpg 

分别在host1host2上挂载host3上的upload,挂载至data目录,并加入到fatab实现开机自动挂载

wKioL1Pwm0uhryt1AACsGEKhcls698.jpg 

wKiom1PwmjOTLi18AAA0D501tY8508.jpg 

9. 测试

通过域名访问并写一个帖子上传附件

wKioL1Pwm03hxtHlAADS5JKye24763.jpg 

分别通过两个IP访问,测试附件能否被正常访问

wKiom1PwmjfjJjydAAIg-cxmFyA803.jpg 

wKioL1Pwm1LD6u1-AAHjDKuNw8w806.jpg 


可见,通过两个IP均能访问附件资源,试验成功!!!

本文出自 “淡淡” 博客,请务必保留此出处http://dddbk.blog.51cto.com/6837943/1541346