个人lvs+keepalived+nginx 高可用负载均衡笔记
关闭Linux、selinux
systemctl stop firewalld.service
systemctl disable firewalld.service
永久关闭
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
设置后需要重启才能生效
----安装 lvs
yum install ipvsadm
-----安装 keepalived
yum install -y keepalived
--添加ifconfig-
yum whatprovides ifconfig
yum install net-tools -y
#!/bin/bash
ifconfig lo:0 192.168.7.120 broadcast 192.168.7.120 netmask 255.255.255.255 up
route add -host 192.168.7.120 dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p &>/dev/null
#!/bin/bash
#
ifconfig enp0s3:0 192.168.7.120 broadcast 192.168.7.120 netmask 255.255.255.255 up #添加虚拟地址的虚接口
route add -host 192.168.7.120 dev enp0s3:0 #给ens33:0添加路由
ipvsadm -C #清除内核虚拟服务器表中的所有记录
ipvsadm -A -t 192.168.7.120:80 -s rr #创建虚拟服务器
ipvsadm -a -t 192.168.7.120:80 -r 192.168.7.140:80 -g #添加服务器节点
ipvsadm -a -t 192.168.7.120:80 -r 192.168.7.59.:80 -g #添加服务器节点
ipvsadm -Ln
-------------高可用---
vrrp_instance VI_1 {
state MASTER #配置主,若是从改成BACKUP
interface eth0 #注意网卡,须是本机的网卡
virtual_router_id 51 #id号
priority 100 #优先级,100最高,若是从改成100以下
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.7.120 #VIP,即对外的IP,用户访问的IP。可以添加多个VIP
}
}
#下面是配置VIP对应的真实服务器,也可以添加多个VIP配置
virtual_server 192.168.7.120 80 {
delay_loop 6 #每隔多少秒keepalived监测rs的状态
lb_algo rr #设置分发的算法
lb_kind DR #设置分发的模式,这里使用DR模式演示
persistence_timeout 0 #同一个IP连接访问在多少秒内被分发到同一个rs上,这里改成0,如果是60,那么会在60秒内一直被连接到同一个rs上。
protocol TCP
#真实服务器的配置,注意IP和端口
real_server 192.168.7.140 80 {
weight 100 #权重
TCP_CHECK {
connect_timeout 10 #10秒无响应超时
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
#第二台rs服务器
real_server 192.168.7.59 80 {
weight 100
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
个人笔记如果有问题欢迎留言交流
本文由 kevin 创作,采用 知识共享署名4.0 国际许可协议进行许可。
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。