需求架构

为后端LAMP架构实现负载均衡,利用LVS实现对2台Web服务器的请求分摊

wKioL1NUU9SiwZODAAOoWlDbc9Q541.jpg

注:172.16.25.0/24是外部网络,192.168.0.0/24是内部网络


具体部署

Director

# 配置网络
/sbin/ifconfig eth0:0 172.16.25.10 broadcast 172.16.25.10 netmask 255.255.255.255 up # 配置VIP,并限制其地址广播
/sbin/route add -host 172.16.25.10 dev eth0:0 # 限制对VIP的访问只能通过eth0:0接口转发
/sbin/ifconfig eth1 192.168.0.10 netmask 255.255.255.0 up # 配置DIP
echo 1 > /proc/sys/net/ipv4/ip_forward
# 清空iptables规则
/sbin/iptables -F
/sbin/iptables -Z
/sbin/iptables -C
# 配置ipvs规则
yum install ipvsadm # 直接yum安装即可
/sbin/ipvsadm -A -t 172.16.25.10:80 -s wlc  # 使用wlc调度算法,172.16.25.10为VIP
/sbin/ipvsadm -a -t 172.16.25.10:80 -r 192.168.0.21 -g -w 2 # 使用DR模型,后端web节点1是192.168.0.21,权重为2
/sbin/ipvsadm -a -t 172.16.25.10:80 -r 192.168.0.22 -g -w 5 # 使用DR模型,后端web节点2是192.168.0.22,权重为5

RS1和RS2

# 配置网络
/sbin/ifconfig lo down
/sbin/ifconfig lo up
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
/sbin/ifconfig lo:0 172.16.25.10 broadcast 172.16.25.10 netmask 255.255.255.255 up
/sbin/route add -host 172.16.25.10 dev lo:0
# 配置HTTPD
vi /etc/httpd/extra/httpd-vhosts.conf
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.0.32:9000/www/phpwind.com/$1
# 注:将所有php请求通过fcgi转发至后端PHP服务器,虚拟主机的根目录是/www/phpwind.com

MySQL-NFS

# MySQL需配置phpwind安装所需的数据库和用户
create database phpwind;
grant all privileges on phpwind.* to phpwind@'192.168.%.%' identified by 'phpwind123';
flush pricileges;
# 配置NFS
vi /etc/exports
/www/phpwind.com 192.168.0.0/16(rw,no_root_squash)  # 本地目录/www/phpwind.com是phpwind程序的安装文件所在,需要作为NFS导出的文件系统
service nfs start
exportfs -ar # 重新导出全部NFS文件系统

PHP

php作为php-fpm进程运行,配置好php-fpm并检测是否运行正常即可:ps -ef |grep php-fpm

其它

# 在RS1、RS2和PHP服务器上挂载NFS目录;因为phpwind的程序文件不利于静文件和动态php文件分离,故Web服务器和PHP服务器都需要挂载NFS目录,才能实现正常访问
mount -t nfs -o _netdev 192.168.0.31:/www/phpwind.com /www/phpwind.com


安装测试和访问测试

phpwind安装测试

wKiom1NUVJaw37xVAA-bYC1h1Qk307.jpg

phpwind发帖测试

wKioL1NUVHug0xOwAAesGkFCKxQ781.jpg

phpwind看帖测试

wKiom1NUVLKTnzliAAjRRbVXQAY897.jpg

LVS大量请求测试

wKioL1NUVJnB8RBzAAJc86bg2Bw558.jpg


上一篇:LB集群及开源代表LVS