大佬教程收集整理的这篇文章主要介绍了【nginx负载均衡(四)】nginx的高可用集群利用keepalive实现双vip,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
目录
一、什么是高可用HA?
二、负载均衡和高可用的区别?
三、keepalived的vrrp协议
四、keepalived实现高可用的实验
五、高可用keepalive的双vip的实现
高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一c;它通常是指通过设计c;减少系统服务不可用的时间。也就是c;一个业务不会因为某个设备或者点出现问题而导致整个业务不能正常运转c;不能单点故障。
单点故障: 某些重要的应用c;只有1个节点c;如果这个节点出现故障c;导致服务不可用。
高可用: high availability :至少有2个以上的节点提供服务c;互相备份c;其中的一个坏了c;另外一个可用顶替。
@H_283_1@master :主要的c;对外提供服务的 BACkup :备份的c;不对外提供服务c;在master是好的情况下。一旦master挂了c;BACkup马上就会接替master的工作c;成为master高可用的软件:keepalived 、HA Proxy、heartbeat
出现任何情况都可以运用到——HA
高可用的背后需要付出的代价: 投入很多的机器c;互相之间做备份——资金投入高
负载均衡:将很多的请求分散到后端很多的服务器上c;化解压力的一个软件 高可用: 有2个或者多个服务器(人)做相同的事情c;互相备份。
keepalived的核心的技术点: vrrp协议和vip@H_489_66@
虚拟路由器冗余协议(vrrp)原理:
VRRP将局域网内的一组路由器划分在一起c;称为一个备份组。备份组由一个Master路由器和多个BACkup路由器组成c;功能上相当于一台虚拟路由器。局域网内的主机只需要知道这个虚拟路由器的IP地址c;并不需知道具体某台设备的IP地址c;将网络内主机的缺省网关设置为该虚拟路由器的IP地址c;主机就可以利用该虚拟网关与外部网络进行通信。
@H_802_2@master路由的选举
备份组中路由器的优先级:
VRRP根据优先级来确定备份组中每台路由器的角色(Master路由器或BACkup路由器)。优先级越高c;则越有可能成为Master路由器。
当两台优先级相同的路由器同时竞争Master时c;比较接口IP地址大小。接口地址大者当选为Master。
一、nginx负载均衡器的安装以及设置
准备2台linux服务器 硬件配置尽量一致c;两台server服务器。
1、安装2台nginx负载均衡器c;需要安装nginxc;使用脚本一键安装nginx所有的机器c;server也要安装nginx。
先vim一个nginx的脚本c;在bash执行脚本一键安装nginxc;注意两台设备配置要一样!
[root@LB-2 nginx]# vim nginx-geoip.sh #创建脚本
[root@LB-2 nginx]# bash nginx-geoip.sh #执行脚本c;编译安装nginx
#!/bin/bash
#解决软件的依赖关系c;需要安装的软件包
yum -y install epel-release
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel gcc gcc-c++ autoconf automake make psmisc net-tools lsof vim geoip geoip-devel
#新建luogan用户和组
id xiayuzhen || useradd xiayuzhen -s /sbin/nologin
#下载nginx软件
mkdir /xiayuzhen99 -p
cd /xiayuzhen99
wget http://nginx.org/download/nginx-1.21.1.tar.gz
#解压软件
tar xf nginx-1.21.1.tar.gz
#进入解压后的文件夹
cd nginx-1.21.1
#编译前的配置
./configure --prefix=/usr/local/scxiayuzhen99 --user=xiayuzhen --group=xiayuzhen --with-http_ssl_module --with-threads --with-http_v2_module --with-http_stub_status_module --with-stream --with-http_geoip_module
#如果上面的编译前的配置失败c;直接退出脚本
if (( $? != 0));then
exit
fi
#编译
make -j 2
#编译安装
make install
#修改PATH变量
echo "PATH=/usr/local/scxiayuzhen99/sbin:$PATH" >>/root/.bashrc
#执行修改了环境变量的脚本
source /root/.bashrc
#firewalld and selinux
#stop firewall和设置下次开机不启动firewalld
service firewalld stop
systemctl disable firewalld
#临时停止selinux和永久停止selinux
setenforce 0
sed -i '/^SELINUX=/ s/enforcing/disabled/' /etc/selinux/config
#开机启动
chmod +x /etc/rc.d/rc.local
echo "/usr/local/scxiayuzhen99/sbin/nginx" >>/etc/rc.local
#修改nginx.conf的配置c;例如:端口号c;worker进程数c;线程数c;服务域名
sed -i '/worker_processes/ s/1/2/' /usr/local/scxiayuzhen99/conf/nginx.conf
sed -i '/worker_connections/ s/1024/2048/' /usr/local/scxiayuzhen99/conf/nginx.conf
sed -i -r '36c \tlisten 80;' /usr/local/scxiayuzhen99/conf/nginx.conf
sed -i -r '37c \tserver_name www.xiayuzhen.com;' /usr/local/scxiayuzhen99/conf/nginx.conf
#killall nginx进程
#killall -9 nginx
#启动nginx
#/usr/local/scxiayuzhen99/sbin/nginx
2、配置nginx的负载均衡功能
找到修改nginx.conf 的配置文件:
[root@LB-2 nginx]# vim /usr/local/scxiayuzhen99/conf/nginx.conf
这里是LB负载均衡器的配置:
这里是sever服务器的配置:
3、启动nginx
4、注意一定要关掉防火墙和selinux
nginx的负载均衡配置完成之后c;可以开始安装keepalived高可用软件了。@H_489_66@
二、安装配置keepalived软件c;两台负载均衡都要安装c;配置一定要一样
1、安装keepalived软件
2、配置keepalived.conf文件c;添加vip和相关信息
vip是virtual ip——虚拟ip
一台BACkup的keepalived的配置:@H_489_66@
注意!!!里面的vrrp_Strict 一定要注释掉!!!@H_489_66@在global_defs模块里面!@H_489_66@
一台master的keepalived的配置:@H_489_66@
操作内容解释:
#vrrp_Strict 注释掉
vrrp_instance VI_1 { 启动一个vrrp的实例 VI_1 实例名c;可以自定义 state MASTER --》角色是master interface ens33 --》在哪个接口上监听vrrp协议c;同时绑定vip到那个接口 virtual_router_id 66 --》虚拟路由id(帮派) 0~255范围 priority 120 ---》优先级 0~255 advert_int 1 --》advert interval 宣告消息 时间间隔 1秒 authentication { 认证 auth_type PASS 认证的类型是密码认证 auth_pass 11112222 具体的密码c;可以自己修改 } virtual_ipaddress { --》vip的配置c;vip可以是多个ip 192.168.138.198 } }
3、启动keepalived软件并且看进程
service keepalived start 启动keepalived
不需要看端口c; keepalived不监听具体的那个端口号c;因为vrrp是组播通信
4、查看ip add 是否生效vip
首先看master配置的那台:
BACkup那台:
@H_616_231@
测试:可以通过浏览器访问设置好的虚拟vip 192.168.138.198 c;在后台查看日志看访问的到底是哪台。
上述就完成了高可用的vip设置!!
跟单vip的方法差不多c;再加一个master配置就可以了。
1、修改keepalived文件:
[root@LB-2 keepalived]# vim keepalived.conf
另外一台:
@H_618_273@
2、配置完之后c;启动keepalived
3、查看ip add 是否生效两个vip
这样就实现高可用的双vip啦!!!
以上是大佬教程为你收集整理的【nginx负载均衡(四)】nginx的高可用集群利用keepalive实现双vip全部内容,希望文章能够帮你解决【nginx负载均衡(四)】nginx的高可用集群利用keepalive实现双vip所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。