1、基于 CentOS 7 构建 LVS-DR 群集。
LVS端:工具ipvsadm、配置VIP
RS:web服务、绑定VIP lo、APR抑制--x修改内核参数/arptables
准备工作:关闭防火墙、禁用selinux
RS1 | 192.168.132.136 |
RS2 | 192.168.132.137 |
LVS | 192.168.132.135 |
客户端 | 192.168.132.134 |
LVS端
[root@localhost ~]# yum install ipvsadm -y
#配置VIP(没有被占用的ip)
[root@localhost ~]# ifconfig ens33:200 192.168.132.200/24
客户端测试是否能ping通
RS1和RS2上的web服务用Apache
[root@localhost ~]# yum install httpd -y
#提供默认主页
[root@localhost ~]# echo "web test page ,ip is `hostname -I`." > /var/www/html/index.html
#开启服务[root@localhost ~]# systemctl start httpd
hosetname -I:显示主机ip
客户端访问:
RS1和RS2绑定VIP,在looback接口
[root@localhost ~]# ifconfig lo:200 192.168.132.200 netmask 255.255.255.255 up
#添加本机访问VIP的路由
[root@localhost ~]# route add -host 192.168.132.200 dev lo
#关闭ARP抑制[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@localhost ~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/conf/ens33/arp_ignore
[root@localhost ~]# echo "2" > /proc/sys/net/ipv4/conf/ens33/arp_announce
手工执行配置添加LVS服务并增加两台RS
[root@localhost ~]# ipvsadm -A -t 192.168.132.200:80 -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.132.200:80 -r 192.168.132.136:80
[root@localhost ~]# ipvsadm -a -t 192.168.132.200:80 -r 192.168.132.137:80
查看:ipvsadm -ln
客户端访问
查看
2、配置nginx负载均衡。
lb01 | 192.168.132.134 |
web01 | 192.168.132.136 |
web02 | 192.168.132.137 |
RPM包获取:http://nginx.org/packages/
源码包获取:http://nginx.org/download/
#lb01
[root@localhost ~]# vim /etc/nginx/conf.d/vhost.conf
upstream xxx{
server 192.168.132.136:80 weight=1;
server 192.168.132.137:80 weight=1;
}
server{listen 80;
server_name www.yunjisuan.com;location /{
proxy_pass http://xxx;
proxy_set_header Host $host;
}
}server{
listen 80;
server_name bbs.yunjisuan.com;location /{
proxy_pass http://xxx;
#检查语法错误
[root@localhost ~]# nginx -t
#重启服务
[root@localhost ~]# systemctl restart nginx
#web01和web02
[root@localhost ~]# mkdir -p /usr/share/nginx/html/{www,bbs}/logs
[root@localhost ~]# echo "`hostname -I`www" > /usr/share/nginx/html/www/index.html
[root@localhost ~]# echo "`hostname -I`bbs" > /usr/share/nginx/html/bbs/index.html
客户端配置hosts解析并测试
[root@localhost ~]# tail -2 /etc/hosts
192.168.132.134 www.yunjisuan.com
192.168.132.134 bbs.yunjisuan.com