wordpress和discuz的负载均衡
实验目的:利用lvs-dr模型实现wordpress和discuz的负载均衡
实验要求:客户端访问wordpress或discuz服务器时,无论被调度至哪台RS上,其会话和访问的页面都应保持一致;
实验环境:一台server用作VS,两台server用作RS,一台server用于部署mysql、NFS、wordpress、discuz服务;
注意:由于使用dr模型,因此在配置ip时VS和RS上都需要配置两个IP(dip配置在网卡上、vip配置在回环网卡的别名上),而在配置vip之前须先修改内核参数arp_announce、arp_ignore
操作步骤:
一、配置IP
1.配置A主机的IP及别名IP
# ip addr add dev eth0 192.168.10.2/24
# ip addr add dev eth0 192.168.10.254/32 label eth0:0 broadcast 192.168.10.254
2.配置B主机的IP,修改内核参数和回环的IP
# ip addr add dev eth0 192.168.10.3/24
# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
# ip addr add dev lo 192.168.10.254/32 label lo:0 broadcast 192.168.10.254
3.配置C主机的IP,修改内核参数和回环的IP
# ip addr add dev eth0 192.168.10.4/24
# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
# echo 2 > /proc/sys/net/ipv4/conf/all/apr_announce
# ip addr add dev lo 192.168.10.254/32 label lo:0 broadcast 192.168.10.254
4.配置D主机的IP
# ip addr add dev eth0 192.168.10.5/24
二、配置集群
A主机上操作
1.安装ipvsadm工具
# yum -y install ipvsadm
2.配置VS,调度算法为sh
# ipvsadm -A -t 192.168.10.254:80 -s sh
3.配置RS,LVS类型为DR
# ipvsadm -a -t 192.168.10.254:80 -r 192.168.10.3 -g
# ipvsadm -a -t 192.168.10.254:80 -r 192.168.10.4 -g
三、部署NFS、mysql
D主机上操作
1.安装所需软件包
# yum -y install nfs-utils mysql-server
2.准备用户apache(访问NFS服务时映射为的用户)
# useradd -u 48 apache
3.准备需要导出的目录,且其属主、属组为apahce
# install -o apache -g apache -d /data/application/web
4.下载wordpress程序包并解压至/data/application/web目录下,并将其属主、属组改为apache,wordpress目录下的wp-content目录的权限改为777(上传图片时需要写权限)
# unzip wordpress-4.3.1.-zh_CN.zip
# mv wordpress /data/application/web
# cd /data/application/web
# chown -R apache.apache wordpress
# chmod 777 wordpress/wp-content
5.下载Discuz程序包并解压至/data/application/web目录下,并将其属主、属组改为apache # tar xvf Discuz-tar.xz
# mv upload /data/applicatiion/web
# cd /data/application/web
# chown -R apache.apache upload
6.编辑nfs配置文件,将/data/application/web目录导出,允许192.168.10.0/24网段连接,导出属性为rw,async,用户映射为apache。
# vim /etc/exports
/data/application/web 192.168.10.0/24(rw,async,anonuid=48,anongid=48)
7.启动mysql服务,创建数据库wpdb和dzdb,并分别授权用户wpuser对wpdb数据库下的所有表拥有所有权限,dzuser对dzdb数据库下的所有表拥有所有权限;
# systemctl start mariadb
# mysql
mysql>CREATE DATABASE wpdb;
mysql>CREATE DATABASE dzdb;
mysql>GRANT ALL ON wpdb.* TO ‘wpuser’@’192.168.10.%’ IDENTIFIED BY ‘wppasswd’;
mysql>GRANT ALL ON dzdb.* TO ‘dzuser’@’192.168.10.%’ IDENTIFIED BY ‘dzpasswd’;
mysql>FLUSH PRIVILEGES;
8.关闭selinux和清除防火墙规则
# setenforce 0
# iptables -F
9.启动nfs服务
# systemctl start nfs
四、部署lamp
B、C主机上操作
1.将D主机上导出的目录挂载至/var/www/html目录下
# mount.nfs 192.168.10.5:/data/application/web /var/www/html
2.安装httpd、php、php-mysql
# yum -y install httpd php php-mysql
3.启动http服务
# service httpd start
验证(由于没有路由,因此从Client不能访问。可在服务器网段任意选择一台主机测试)
五、安装wordpress
1.在Client主机上打开浏览器输入地址:192.168.10.254/wordpress
数据库名:wpdb
用户名:wpuser
密码:wppasswd
数据库主机:192.168.10.5
六、安装Discuz
1.在Client主机上打开浏览器输入地址:192.168.10.254/upload/install/index.php,根据提示安装即可。
2.访问管理中心,在浏览器中输入地址:192.168.10.254/upload/uc_server,选择“管理员”,随后输入管理员帐号和密码即可访问。
原创文章,作者:人字拖,如若转载,请注明出处:http://www.178linux.com/75476