分离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
[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
在dz中建立php测试页面,确保php运行正常
[root@localhost dz]# vi index.php #写入以下内容
- <?php
- phpinfo();
- ?>
打开页面测试一下
配置nfs服务,共享网站目录dz
[root@localhost dz]# vi /etc/exports #加入下面一行
/dz 192.168.92.11(rw,async)
启动nfs服务
web1暂时配置到这里,先把配置web2配置一下