分离mysql和存储实现双web负载均衡
此篇博文仅限涉及web服务器部分,至于负载均衡的实现可以按照需求来做,可以是基于DNS解析的负载均衡,也可以用lvs或者专用的负载均衡器(如F5或randware)这是一个比较简单的负载均衡的实现,没有考虑到ha。
具体规划:
将2台web服务器做成一个discuz论坛的小集群。合理分配2台web服务器的任务,分离文件共享和mysql应用,使2台服务器同时提供web服务,但由web1充当网络存储,实现数据的同步,web2充当数据库服务器,提供数据的调用。合理的分配2台服务器的负载,实现真正意义的负载均衡。
此情景只是一个负载均衡的小集群,未考虑到高可用的情况,在中小型企业中,如果一台服务器撑不住,但业务也不是特别重要,允许在服务器挂掉的情况下能断线一段时间的情况下使用。
具体是在web1上做NFS文件共享,将网页放置在web1上。将数据库放置在web2上。然后2台web服务器同时提供web服务,外界访问2台服务器时得到的网页结果是一样的
实现过程
首先在web1中安装nfs,apache,php
# yum install nfs-utils httpd php php-mysql –y
创建网站目录
# mkdir /dz
为了方便,将网站目录的权限修改为777(在真正为企业配置时千万别这么来,这里只是为了实验方便)
# chmod 777 dz -R
修改网址apache的配置文件,指向dz目录,这里只修改一行
DocumentRoot "/dz"
关闭selinux和iptables,并打开httpd
在dz中建立php测试页面,确保php运行正常
# vi index.php #写入以下内容
[*]<?php
[*]phpinfo();
[*]?>
打开页面测试一下
配置nfs服务,共享网站目录dz
# vi /etc/exports #加入下面一行
[*]/dz 192.168.92.11(rw,async)
启动nfs服务
web1暂时配置到这里,先把配置web2配置一下
在web2上安装apache,php,mysql-server
# yum install nfs-utils httpd php php-mysql mysql-server -y
然后先挂载web1的nfs目录
# mount -t nfs 192.168.92.10:/dz /dz
和web1一样关闭selinux和iptables 并打开httpd,
然后修改apache的配置和web1一样网站路径为/dz,不过这里的/dz就是从web1网络挂载过来的/dz了,这里不再详细列出过程了,和web1的一样
然后开始为mysql配置论坛的数据库table和账户
# 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上进行配置。
# unzip Discuz_X2.5_SC_UTF8.zip #解压discuz程序
进入/dz/config目录 打开编辑config_global_default.php文件。
# vi config_global_default.php 修改以下几行内容
[*]$_config['db']['dbhost'] = '192.168.92.11'; #数据库一定要指向web2
[*]$_config['db']['dbuser'] = 'dzroot';
[*]$_config['db']['dbpw'] = '123456';
[*]$_config['db']['dbcharset'] = 'utf8';
[*]$_config['db']['pconnect'] = 0;
[*]$_config['db']['dbname'] = 'dz';
[*]$_config['db']['tablepre'] = 'pre_';
然后将其复制为以下名称(为了防止安装discuz时报错)
# cp config_global_default.php config_global.php
# cp config_ucenter_default.php config_ucenter.php
浏览器中打开192.168.92.10,开始discuz的安装,进行到这一步时,对相应提示的目录进行权限的修改
安装成功后,用浏览器打开192.168.92.10,进入管理员后台,添加一个板块
然后打开192.168.92.11
可以看到2个web之间的内容是同步的
这就简单的搭建了一个小小的负载均衡的集群应用
实现比较简单,重要的思路的开放。能够让不同的应用的压力均摊到每个服务器上,不浪费服务器性能,这才是负载均衡的意义。
该贴已经同步到 admin的微博 帮你顶下哈!! 长大了娶唐僧做老公,能玩就玩一玩,不能玩就把他吃掉。 流氓不可怕,就怕流氓有文化。 佛曰,色即是空,空即是色!今晚,偶想空一下 人生不能像做菜、把所有的料都准备好才下锅! 男人偷腥时的智商仅次于爱因斯坦!
页:
[1]