LVS实例完整剖析

时间:2022-12-18 03:10:23

需求架构

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

LVS实例完整剖析

注: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 upecho 1 > /proc/sys/net/ipv4/conf/lo/arp_ignoreecho 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# 配置HTTPDvi /etc/httpd/extra/httpd-vhosts.confProxyRequests OffProxyPassMatch ^/(.*\.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;# 配置NFSvi /etc/exports/www/phpwind.com 192.168.0.0/16(rw,no_root_squash)  # 本地目录/www/phpwind.com是phpwind程序的安装文件所在,需要作为NFS导出的文件系统service nfs startexportfs -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安装测试

LVS实例完整剖析

phpwind发帖测试

LVS实例完整剖析

phpwind看帖测试

LVS实例完整剖析

LVS大量请求测试

LVS实例完整剖析


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


本文出自 “小小忍者” 博客,请务必保留此出处http://xxrenzhe.blog.51cto.com/4036116/1399230