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配置文件

Nginx+keepalived实现高可用负载群集_第1张图片

 修改主调度器keepalived配置文件

Nginx+keepalived实现高可用负载群集_第2张图片

 编写监控脚本

Nginx+keepalived实现高可用负载群集_第3张图片

在主调度器keepalived的配置中添加指定脚本文件

Nginx+keepalived实现高可用负载群集_第4张图片

将以上配置文件复制到备服务器对应目录下进行修改(nginx配置不变)

 Nginx+keepalived实现高可用负载群集_第5张图片

Nginx+keepalived实现高可用负载群集_第6张图片

两边都启动nginx和keepalived服务

systemctl start nginx
systemctl start keepalived

 Nginx+keepalived实现高可用负载群集_第7张图片

 查看第一台web服务器的网卡配置(192.168.75.50)

Nginx+keepalived实现高可用负载群集_第8张图片

虚拟网卡成功添加

关闭第一台web服务器的keepalived服务,查看vip是否漂移到第二台备服务器上(192.168.75.60)

Nginx+keepalived实现高可用负载群集_第9张图片

成功漂移

配置两台节点服务器

下载http服务

关闭安全机制
systemctl stop firewalld
setenforce 0
下载开启httpd
yum -y install httpd
systemctl start httpd

 在两台web服务器的/var/www/html路径下分别添加网页配置文件

第一台(192.168.75.50)

Nginx+keepalived实现高可用负载群集_第10张图片

第二台(192.168.75.60)

Nginx+keepalived实现高可用负载群集_第11张图片 

给两台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

 Nginx+keepalived实现高可用负载群集_第12张图片

配置内核文件(两台一样)

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

 Nginx+keepalived实现高可用负载群集_第13张图片

实验测试

在客户端访问 http://192.168.75.111:9527

 Nginx+keepalived实现高可用负载群集_第14张图片

 

你可能感兴趣的:(服务器,数据库,运维)