nginx+keepalived高可用实践

一、 环境准备

centos7.4 (10.44.44.115-node2)master
centos7.4 (10.44.44.116-node3)slave
nginx-1.17.9.tar.gz(源码安装)
keepalived-1.3.5-16.el7.x86_64 (yum安装)
在这里插入图片描述

二、 安装nginx

2.1 第一台nginx

1)第一台ecs(10.44.44.115)中执行
下载nginx-1.17.9.tar.gz
#tar -zxvf nginx-1.17.9.tar.gz
#cd nginx-1.17.9
#./configure
在这里插入图片描述

#make && make install
在这里插入图片描述

2、查看安装位置
[root@node2 nginx-1.17.9]# whereis nginx
nginx: /usr/local/nginx
3、然后编辑下/usr/local/nginx/html/index.html,加入标识 ,10.44.44.115这台机器
4、启动 cd /usr/local/nginx/sbin中,./nginx 并检查端口80 ,ss -nl |grep 80有没有监听
5、网页访问10.44.44.115
在这里插入图片描述

2.2 第二台nginx

1、第二台ecs(10.44.44.116)中执行
下载nginx-1.17.9.tar.gz
#tar -zxvf nginx-1.17.9.tar.gz
#cd nginx-1.17.9
#./configure
在这里插入图片描述

#make && make install
在这里插入图片描述

2、查看安装位置
[root@node3 nginx-1.17.9]# whereis nginx
nginx: /usr/local/nginx
3、然后编辑下/usr/local/nginx/html/index.html,加入标识 ,10.44.44.116这台机器
4、启动 cd /usr/local/nginx/sbin中,./nginx 并检查端口80 ,ss -nl |grep 80有没有监听
在这里插入图片描述

5、网页访问10.44.44.116
在这里插入图片描述

三、 安装keepalived

3.1 master中安装keepalived

#yum –y install keepalived ,两台同样的操作
在这里插入图片描述

3.2 修改master中keepalived.conf配置
#cd /etc/keepalived/
#cp keepalived.conf keepalived.conf.bak
#vim keepalived.conf

global_defs {
}
vrrp_script chk_nginx {
script "/etc/keepalived/check.sh"
interval 1
weight -15
}
vrrp_instance VI_1 {  #  实例,一个vip一个实例
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
   auth_type PASS
   auth_pass 123456
}
virtual_ipaddress {
   192.168.1.1
}
track_script {
   chk_nginx
}
notify_master "/etc/keepalived/notify.sh master"
notify_backup "/etc/keepalived/notify.sh backup"
notify_fault "/etc/keepalived/notify.sh fault"
}

3.2 创建notify.sh和check.sh脚本

1)创建check脚本

vim /etc/keepalived/check.sh

#!/bin/bash
# 心跳检测:如果服务还在运行返回0,否则返回1
if [ "`pgrep  nginx  |  wc  -l`" == "0" ] ; then
exit 1
else
exit 0
fi

2)创建通知脚本(notify.sh)

vim /etc/keepalived/notify.sh

#!/bin/bash
# 通知脚本:具体操作
if [ "$1" == "master" ] ; then
echo "`date '+%F %T'`:切换到主机模式" >> /var/log/keepalived/keepalived.log
elif [ "$1" == "backup" ] ; then
/usr/bin/systemctl start nginx
echo "`date '+%F %T'`:切换到备机模式" >> /var/log/keepalived/keepalived.log
else
/usr/bin/systemctl start nginx
echo "`date '+%F %T'`:宕机" >> /var/log/keepalived/keepalived.log
fi

最后创建目录mkdir /var/log/keepalived

3)启动master的keepalived服务
#systemctl start keepalived

3.2 backup中安装keepalived

1)修改backup中keepalived.conf配置

2)把master中notify和check两个脚本传给slave上,并创建mkdir /var/log/keepalived

3)启动bakeup的keepalived服务

四、 测试

4.1 测试负载均衡

4.2 测试心跳检测

主服务器:10.44.44.115

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值