Nginx+keepalived实现高可用负载群集

实现方式

使用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

 

 

相关推荐

  1. web(haproxy负载均衡+keepalived可用)

    2023-12-20 07:32:05       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-20 07:32:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-20 07:32:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-20 07:32:05       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-20 07:32:05       20 阅读

热门阅读

  1. 正则表达式

    2023-12-20 07:32:05       46 阅读
  2. 4-Docker命令之docker volume

    2023-12-20 07:32:05       50 阅读
  3. 实战:使用Spring Boot监控SQL执行

    2023-12-20 07:32:05       39 阅读
  4. 黑豹程序员-安装docker-ce

    2023-12-20 07:32:05       35 阅读
  5. Jupyter的简单实用

    2023-12-20 07:32:05       38 阅读
  6. 论文笔记 | ICLR 2023 WikiWhy:回答和解释因果问题

    2023-12-20 07:32:05       51 阅读
  7. hadoop完全分布式搭建

    2023-12-20 07:32:05       26 阅读
  8. 第十六章 爬虫scrapy登录与中间件

    2023-12-20 07:32:05       31 阅读