web负载均衡 mysql_分离mysql和存储实现双web负载均衡

此篇博文仅限涉及web服务器部分,至于负载均衡的实现可以按照需求来做,可以是基于DNS解析的负载均衡,也可以用lvs或者专用的负载均衡器(如F5或randware)

这是一个比较简单的负载均衡的实现,没有考虑到ha。

2600869_1341965079vV0U.jpg

具体规划:

将2台web服务器做成一个discuz论坛的小集群。合理分配2台web服务器的任务,分离文件共享和mysql应用,使2台服务器同时提供web服务,但由web1充当网络存储,实现数据的同步,web2充当数据库服务器,提供数据的调用。合理的分配2台服务器的负载,实现真正意义的负载均衡。

此情景只是一个负载均衡的小集群,未考虑到高可用的情况,在中小型企业中,如果一台服务器撑不住,但业务也不是特别重要,允许在服务器挂掉的情况下能断线一段时间的情况下使用。

具体是在web1上做NFS文件共享,将网页放置在web1上。将数据库放置在web2上。然后2台web服务器同时提供web服务,外界访问2台服务器时得到的网页结果是一样的

实现过程

首先在web1中安装nfs,apache,php

[root@localhost ~]# yum install nfs-utils httpd php php-mysql –y

创建网站目录

[root@localhost ~]# mkdir /dz

为了方便,将网站目录的权限修改为777(在真正为企业配置时千万别这么来,这里只是为了实验方便)

[root@localhost /]# chmod 777 dz -R

修改网址apache的配置文件,指向dz目录,这里只修改一行

DocumentRoot "/dz"

关闭selinux和iptables,并打开httpd

2600869_1341965082ci95.jpg

在dz中建立php测试页面,确保php运行正常

[root@localhost dz]# vi index.php #写入以下内容

phpinfo();

?>

打开页面测试一下

2600869_13419651136vBK.jpg

配置nfs服务,共享网站目录dz

[root@localhost dz]# vi /etc/exports #加入下面一行

/dz     192.168.92.11(rw,async)

启动nfs服务

2600869_13419651158h2r.jpg

web1暂时配置到这里,先把配置web2配置一下

在web2上安装apache,php,mysql-server

[root@localhost ~]# yum install nfs-utils httpd php php-mysql mysql-server -y

然后先挂载web1的nfs目录

[root@localhost ~]# mount -t nfs 192.168.92.10:/dz /dz

和web1一样关闭selinux和iptables 并打开httpd,

然后修改apache的配置和web1一样网站路径为/dz,不过这里的/dz就是从web1网络挂载过来的/dz了,这里不再详细列出过程了,和web1的一样

然后开始为mysql配置论坛的数据库table和账户

[root@localhost ~]# mysql

mysql>create database dz;

Query OK, 1 row affected (0.01 sec)

mysql>grant all privileges on dz.* to dzroot@192.168.92.10 identified by '123456';

Query OK, 0 rows affected (0.01 sec)

mysql>grant all privileges on dz.* to dzroot@192.168.92.11 identified by '123456';

Query OK, 0 rows affected (0.00 sec)

mysql>flush privileges;

Query OK, 0 rows affected (0.00 sec)

数据库配置好后开始配置discuz

首先到WEB1上进行配置。

[root@localhost dz]# unzip Discuz_X2.5_SC_UTF8.zip #解压discuz程序

进入/dz/config目录 打开编辑config_global_default.php文件。

[root@localhost config]# vi config_global_default.php 修改以下几行内容

$_config['db'][1]['dbhost']             = '192.168.92.11'; #数据库一定要指向web2

$_config['db'][1]['dbuser']             = 'dzroot';

$_config['db'][1]['dbpw']               = '123456';

$_config['db'][1]['dbcharset']          = 'utf8';

$_config['db'][1]['pconnect']           = 0;

$_config['db'][1]['dbname']             = 'dz';

$_config['db'][1]['tablepre']           = 'pre_';

然后将其复制为以下名称(为了防止安装discuz时报错)

[root@localhost config]# cp config_global_default.php config_global.php

[root@localhost config]# cp config_ucenter_default.php config_ucenter.php

浏览器中打开192.168.92.10,开始discuz的安装,进行到这一步时,对相应提示的目录进行权限的修改

2600869_1341965117PGlc.jpg

安装成功后,用浏览器打开192.168.92.10,进入管理员后台,添加一个板块

2600869_1341965123RSuG.jpg

然后打开192.168.92.11

2600869_1341965129ln8I.jpg

可以看到2个web之间的内容是同步的

这就简单的搭建了一个小小的负载均衡的集群应用

实现比较简单,重要的思路的开放。能够让不同的应用的压力均摊到每个服务器上,不浪费服务器性能,这才是负载均衡的意义。

本文转自lustlost 51CTO博客,原文链接:http://blog.51cto.com/lustlost/926764,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值