通过lvs-dr来负载均衡一个php应用

通过lvs-dr来负载均衡一个php应用

拓扑图如下

blob.png

1,先配置数据库和共享的web存储

yum install mariadb-server nfs-utils -y   #安装数据库和nfs共享
mkdir /web
useradd -r -u 48 apache

cp /share/lamp/Discuz_X3.2_SC_UTF8.zip  /root/
cd /root
unzip Discuz_X3.2_SC_UTF8.zip
mv upload/* /web/
setfacl -R -m u:apache:rwx /web/

vim /etc/exports
/web    192.168.153.0/24(rw)

systemctl start rpcbind
systemctl start nfs.service

vim /etc/my.cnf                    #编辑数据库配置文件
skip_name_resolve=ON                #跳过反向解析
innodb_file_per_table=ON            #忽略
systemctl start mariadb

进入数据库创建论坛所需要的表

mysql> create database dis;
mysql> grant all on dis.* to 'disuser'@'192.168.153.129'  identified by "dispass";
mysql> grant all on dis.* to 'disuser'@'192.168.153.130'  identified by "dispass";
mysql> flush privileges;

setenforce 0
iptables -F

2,配置rs1和rs2

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

ifconfig lo:0 192.168.153.100 netmask 255.255.255.255 broadcast 192.168.153.100
route add -host 192.168.153.100 dev lo:0

yum install httpd php php-mysql nfs-utils -y
setfacl  -m u:apache:rwx /var/www/html/
mount -t nfs 192.168.153.131:/web /var/www/html/
setenforce 0
iptables -F
systemctl start httpd

3,配置Directory

ifconfig eno16777736:0 192.168.153.100 netmask 255.255.255.255 broadcast 192.168.153.100

通过防火墙标记来配置

iptables -t mangle -A PREROUTING -d 192.168.153.100 -p tcp -m multiport --dports 22,80 -j MARK --set-mark 2280
yum install ipvsadm -y

添加规则

ipvsadm -A -f 2280 -s wrr
ipvsadm -a -f 2280 -r 192.168.153.129 -g -w 1
ipvsadm -a -f 2280 -r 192.168.153.130 -g -w 1
iptables -F

4,安装diz

访问 http://192.168.153.130/

blob.png

blob.png

blob.png

blob.png

blob.png

blob.png

类似文章