Nginx+keepalived实现高可用负载群集
2023-12-20 02:36:37
实现方式
使用Nginx作为负载调度器,通过四层代理转发给web器处理请求,实现负载均衡;
在Nginx调度器上配置脚本监控(健康检查),实现主备热备份,当主失效切换至备工作。
实验
实验准备
Web 服务器1:192.168.75.50(VIP 192.168.75.111)
Web 服务器2:192.168.75.60(VIP 192.168.75.111)Nginx+keepalived 主负载调度器:192.168.75.30(VIP 192.168.75.111)
Nginx+keepalived 备负载调度器:192.168.75.80(VIP 192.168.75.111)
客户端(本机):192.168.75.1
?实验步骤
配置Nginx主备负载调度器
两台都用yum安装Nginx服务(使用编译安装需要加上--with-stream模块)和keepalived服务
vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
#yum下载
yum install -y nginx
yum install -y keepalived
修改主调度器nginx配置文件
?修改主调度器keepalived配置文件
?编写监控脚本
在主调度器keepalived的配置中添加指定脚本文件
将以上配置文件复制到备服务器对应目录下进行修改(nginx配置不变)
?
两边都启动nginx和keepalived服务
systemctl start nginx
systemctl start keepalived
?
?查看第一台web服务器的网卡配置(192.168.75.50)
虚拟网卡成功添加
关闭第一台web服务器的keepalived服务,查看vip是否漂移到第二台备服务器上(192.168.75.60)
成功漂移
配置两台节点服务器
下载http服务
关闭安全机制
systemctl stop firewalld
setenforce 0
下载开启httpd
yum -y install httpd
systemctl start httpd
?在两台web服务器的/var/www/html路径下分别添加网页配置文件
第一台(192.168.75.50)
第二台(192.168.75.60)
?
给两台web服务器添加vip (两台一样)
vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
IPADDR=192.168.75.111
NETMASK=255.255.255.255
service network restart 或 systemctl restart network
ifup lo:0
ifconfig lo:0
route add -host 192.168.75.111 dev lo:0
?
配置内核文件(两台一样)
vim /etc/sysctl.conf
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
sysctl -p
?
实验测试
在客户端访问 http://192.168.75.111:9527
?
?
文章来源:https://blog.csdn.net/weixin_72625764/article/details/135093132
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!