实验环境

序号 主机名 IP地址
1 nginx1 192.168.204.11
2 nginx2 192.168.204.12

安装nginx

安装nginx

yum install -y epel-*
yum install -y nginx

编写HTML文件

nginx1上

echo -e "nginx1" > /usr/share/nginx/html/index.html

nginx2上

echo -e "nginx2" > /usr/share/nginx/html/index.html

启动nginx

systemctl start nginx
systemctl enable nginx
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

访问浏览器

安装配置keepalived

1.安装keepalived

yum install keepalived -y

2.在nginx1上配置keepalived

修改配置文件

vim /etc/keepalived/keepalived.conf

启动

systemctl start keepalived
systemctl enable keepalived

3.在nginx2上配置keepalived

修改配置文件

vim /etc/keepalived/keepalived.conf

启动

systemctl start keepalived
systemctl enable keepalived

4.在宿主机ping 192.168.204.10,使用arp -a查看缓存

5.浏览器访问虚拟地址

6.在nginx1上宕掉ens33网卡

在宿主机使用arp -a查看缓存

在主机使用浏览器访问虚拟地址

可以看到,对192.168.204.10的请求已从nginx1节点转移到了nginx2节点

配置keepalived支持nginx高可用

1.编写NGINX状态监测脚本

编写脚本/etc/keepalived/nginx_check.sh

#!/bin/bash
# file:/etc/keepalived/nginx_check.sh
N=`ps -C nginx --no-header | wc -l`
if [ $N -eq 0 ]; then
systemctl restart nginx
sleep 2
if [ `ps -C nginx --no-header | wc -l` -eq 0 ]; then
killall keepalived
fi
fi

赋予可执行权限

chmod +x /etc/keepalived/nginx_check.sh

测试脚本

2.配置keepalived支持NGINX高可用

在nginx1节点上编辑/etc/keepalived/keepalived.conf

vim /etc/keepalived/keepalived.conf

重新启动keepalived

systemctl restart keepalived

3.测试高可用

浏览器访问虚拟地址

在nginx1节点运行stop.sh脚本,然后使用浏览器访问虚拟地址

#!/bin/bash
# file:stop.sh
for ((i=0; i<=100; i++))
do
systemctl stop nginx
echo 'stoped. sleep 1s...'
sleep 1
done

本文链接: https://www.cnblogs.com/connect/p/nginx-keepalived-high-availability.html

配置keepalived支持nginx高可用的更多相关文章

  1. Docker下配置KeepAlive支持nginx高可用

    案例子任务一.安装配置keepalived 步骤1:使用nginx镜像生成nginx-keep镜像 1) 启动nginx容器并进入 docker run -d --privileged nginx / ...

  2. Keepalived保证Nginx高可用配置

    Keepalived保证Nginx高可用配置部署环境 keepalived-1.2.18 nginx-1.6.2 VM虚拟机redhat6.5-x64:192.168.1.201.192.168.1. ...

  3. linux中keepalived实现nginx高可用配置

    linux中keepalived实现nginx高可用配置 安装keepalived 运行如下命令即可 tar -zxvf keepalived-2.0.8.tar.gz -C /usr/src cd ...

  4. keepalived对nginx高可用演练脚本

    keepalived对nginx高可用演练脚本 参考文章:http://deidara.blog.51cto.com/400447/302402/ .安装nginx.keepalived.epel-r ...

  5. Nginx配置upstream实现负载均衡及keepalived实现nginx高可用

    (原文链接:http://www.studyshare.cn/blog-front//blog/details/1159/0 ) 一.准备工作 1.准备两个项目,发布到不同的服务器上,此处使用2个虚拟 ...

  6. keepalived实现nginx高可用

    keepalived是什么 keepalived直译就是保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,用来防止单点故障(单点故障是指一旦某一点出现故障就会导致整个系统架构的不可用)的发 ...

  7. 基于keepalived的nginx高可用

    #nginx,keepalived安装略过 MASTER 节点配置文件(192.168.1.11) vi /etc/keepalived/keepalived.conf global_defs { # ...

  8. 使用Keepalived实现Nginx高可用

    Keepalived是一个路由软件,可以提供linux系统和linux系统上的组件的负载均衡和高可用,高可用基于VRRP(Virtual Router Redundancy Protocol,虚ip) ...

  9. Keepalived+LVS-DR+Nginx高可用故障切换模式

    LVS架构中,不管是NAT模式还是DR模式,当后端的RS宕掉后,调度器依然会把请求转发到宕掉的RS上,这样的结果并不是我们想要的.其实,keepalived就可以解决问题,它不仅仅有高可用的功能,还有 ...

随机推荐

  1. 大数据Excel导出方案

    static void Main(string[] args) { Excel.Application app = new Excel.Application(); Excel._Workbook r ...

  2. 阿里云监控RDS

    RDS性能监控API https://help.aliyun.com/document_detail/26280.html?spm=a2c4g.11186623.6.1576.341d7159uzLD ...

  3. JS基石之-----数组转换为树结构函数

    我们常常在做后台管理系统的时候 需要对数据进行组装成一个树装结构,这里特地将此方法进行封装: let data = [ { id: , text: }, { id: , text: }, { id: ...

  4. ES6兼容ie9, flex兼容ie9

    vue兼容ES6 在 ie9 的环境上,es6 的部分新对象.表达式,并不支持,解决方案是使用 babel-polyfill 组件,它可以将 es6 的代码翻译成低版本浏览器可以识别的 es5 代码 ...

  5. android studio学习----gradle配置

    转载地址:http://blog.csdn.net/loongggdroid/article/details/47037413 1.gradle的简单介绍 Gradle是可以用于Android开发的新 ...

  6. C++ OpenSSL 之四:CER转换为PEM

    1.等同于使用: openssl  x509 -in "cer_path" -inform DER -out "save_path" -outform PEM ...

  7. CDH报错:PersistenceException: [PersistenceUnit: cmf.server] Unable to build EntityManagerFactory

    1.在启动CDH中master的服务cloudera-scm-server start并立刻挂掉了,提示如下错误 org.springframework.beans.factory.BeanCreat ...

  8. 开放API接口安全处理!

    目录 概念 加密 MD5 Token 开放api参数 重复提交,恶意调用 日志 验证码 开放API接口安全处理! 参考文献: 公钥,私钥和数字签名这样最好理解 (转载) 概念 存在问题: 数据窃取 数 ...

  9. org.json package

    JSON is a light-weight,language independent,data interchange format. org.json package implement JSON ...

  10. 【EL表达式】EL从四大域中取数据

    一.EL技术 1.EL 表达式概述 EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL 出现的目的是要替代jsp页面中脚本的编写. 2.EL从域中取出数据 ...