keepalived保活nginx1,nginx2

1    下载两个小玩意

  yum -y install keepalived

   yum install psmisc  -y

  

2    配置nginx1,2自启脚本

vim /root/shell/check-nginx.sh          我的脚本放在root/shell里

#!/bin/bash
#获取nginx正在运行的进程数
npsnum=`ps -C nginx --no-header | wc -l`

if [ $npsnum == 0 ]; then
  #等0说明nginx没启动
   /usr/local/nginx/sbin/nginx
  #再次判断nginx是否活着
  if [ `ps -C nginx --no-header | wc -l` == 0 ]; then
    #等0说明nginx启动失败
      killall  keepalived
  fi

fi

 chmod +x  /root/shell/check-nginx.sh      

3    测试脚本是否能用

ll   /root/shell/check-nginx.sh 

ps -ef |grep nginx |grep -v grep    (有的话杀死)

kill -9 1304    kill -9  1306           (我的有我杀)

 ps -ef |grep nginx |grep -v grep  再次查看

./check-nginx.sh   启动  (进脚本目录可以这样,没进去全路径)

ps -ef |grep nginx |grep -v grep     再次查看

4    nginx-1keepalived配置 

vim /etc/keepalived/keepalived.conf      如果错了cat /var/log/messages可以看

   ! Configuration File for keepalived

global_defs {
   #唤醒邮箱配置
   notification_email {
     acassen@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   #配置邮件服务器连接超时时间
   smtp_connect_timeout 30
   #路由id,唯一的,当前机子
   router_id LVS_27
}
#vrrp脚本   名字与下面track_script里面的名字一致
vrrp_script aaa {
   script "/root/shell/check-nginx.sh"
   #调用脚本间隔时间 秒 不配默认1秒
   interval 2
   weight -1
}
vrrp_instance VI_1 {
     #服务器状态
    state MASTER
     #当前实例绑定的网卡接口
    interface ens33 
      #虚拟路由id,主备必须相同,相同为一组
    virtual_router_id 51 
   #优先级取值1-255,master一般比backup高50
    priority 100
    #主备心跳间隔时间 单位是秒
    advert_int 1 
    #认证  主备切换时,进行认证  主备必须相同
    authentication { 
        auth_type PASS
        auth_pass 1111
    }   
    #虚拟ip配置 LVS=IPVS   keepavlied虚拟出的ip
    virtual_ipaddress {
         #虚拟IP 必须和要和保活的软件所在的主机的IP的网段一致
        192.168.58.188 
    }   
    #追踪脚本
    track_script {
      aaa
}     
}

service keepalived start   启动

5    nginx-2 keepalived配置 

vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {
   #唤醒邮箱配置
   notification_email {
     acassen@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   #配置邮件服务器连接超时时间
   smtp_connect_timeout 30
   #路由id,唯一的,当前机子
   router_id LVS_28
}
#vrrp脚本 名字与下面track_script里面的名字一致,脚本路径
vrrp_script aaa {
   script "/root/shell/check-nginx.sh"
   #调用脚本间隔时间 秒 不配默认1秒
   interval 2
   weight 1
}
     #服务器状态
    state BACKUP
     #当前实例绑定的网卡接口
    interface ens33 
      #虚拟路由id,主备必须相同,相同为一组
    virtual_router_id 51 
   #优先级取值1-255,master一般比backup高50
    priority 50
    #主备心跳间隔时间 单位是秒
    advert_int 1 
    #认证  主备切换时,进行认证  主备必须相同
    authentication { 
        auth_type PASS
        auth_pass 1111
    }   
    #虚拟ip配置 LVS=IPVS   keepavlied虚拟出的ip
    virtual_ipaddress {
         #虚拟IP 必须和要和保活的软件所在的主机的IP的网段
一致     
        192.168.58.188
    }   
    #追踪脚本
    track_script {
      aaa
}     
} 

service keepalived start   启动

6    配置后

黑窗口     arp -a 192.168.58.188    查看虚拟ip在nginx-1机子上   00-0c-29-d4-55-dc 

                ping  -t 192.168.58.188      可以一直ping

nginx-1         killall keepalived      黑窗口会出现连接超时,然后 继续ping

     结束这次ping

      再次  黑窗口     arp -a 192.168.58.188    查看虚拟ip在nginx-2机子上  00-0c-29-e9-a0-36

       再次        ping  -t 192.168.58.188      

      service   keepalived  start    启动   再次出现 

结束这次ping

  黑窗口     arp -a 192.168.58.188    查看虚拟ip在nginx-1机子上   00-0c-29-d4-55-dc 

7   keepalived   作用  目的

高可用  和   负载均衡

Keepalived的作用是检测服务器(目前保活的是nginx,可以保活其他软件)的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。

      Keepalived 是一个用 C 语言编写的路由软件。这个项目的主要目标是为 Linux 系统和基于 Linux 的基础设施提供简单而强大的负载平衡和高可用性设施 。底层基于VRRP( Virtual Router Redundancy Protocol,简称VRRP)协议编写。VRRP作用:它的设计目标是支持特定情况下IP数据流量失败转移不会引起混乱。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/871394.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

企业级WEB应用服务器TOMCAT攻略

目录 一 WEB技术 1.1 HTTP协议和B/S 结构 二 WEB框架 2.1 web资源和访问 2.2 后台应用架构 三 tomcat的功能介绍 3.1 安装 Tomcat 3.2 tomcat的文件结构和组成 3.3 生成tomcat的启动文件 四 结合反向代理实现tomcat部署 4.1 常见部署方式介绍 4.2 利用 nginx 反向代…

第2章-01-网站中的资源介绍

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年CSDN全站百大博主。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 🏆本文已收录于专栏:Web爬虫入门与实战精讲,后续完整更新内容如下。 文章…

性能测试-性能监控分析与调优(三)《实战-CPU瓶颈分析、内存问题分析、gc、tomcat性能调优,数据库监控-redis\mysql》

性能监控 使用命令监控 cpu瓶颈分析 top命令 在进行性能测试时使用top命令,界面如下 上图可以看出 - CPU 概况区: %Cpu(s): - us(用户进程占用CPU的百分比), 和 sy(系统进程占用CPU的百分比) 的数…

热门奥运冠军代言费用贵,中小微企业怎么找冠军代言?

巴黎奥运会的热潮未退,这个月运动员代言的比例显著上升,比如游泳冠军潘展乐拿下携程等5个代言,孙颖莎手握可口可乐等7个代言。越来越多的企业和品牌通过冠军代言的形式来提升自身的品牌形象和市场竞争力。运动员代表着健康、拼搏和胜利&#…

thinkphp5漏洞分析之文件包含

目录 一、环境 二、开始研究 三、漏洞分析 四、漏洞修复 五、攻击总结 一、环境 thinkphp官网下载 创建 application/index/view/index/index.html 文件,内容随意(没有这个模板文件的话,在渲染时程序会报错) 二、开始研究 创…

【机器人学】7-2.六自由度机器人自干涉检测-计算圆柱体的上下圆心坐标【附MATLAB代码】

目录 前言 机械臂几何参数 机器等效圆柱体坐标确定 MATLAB代码 前言 上一章介绍了机器人自干涉检测的总体算法,提出了算法的三个核心: 一 根据机械臂的几何数据以及DH参数,确定机械臂等效的圆柱体的上下圆心坐标。 二 将一个圆柱体旋转到…

《少年白马醉春风》圆满收官 白澍“琅琊王”萧若风热度飙升

由陈宙飞执导,周木楠编剧,侯明昊、何与、胡连馨领衔主演,夏之光、姜贞羽特别出演,完颜洛绒、白澍等主演的古装武侠剧《少年白马醉春风》于昨日收官,大结局播出后,粉丝们直呼没看够!对于剧中角色…

Qt Creator安装配置指南

1.官网下载在线安装包 官网地址: https://www.qt.io/download-dev#eval-form-modal 2.双击在线安装包按引导流程安装qt 3.选择自己要配置的qt环境版本 3.1如果要选中低版本的qt环境我这里安装的是qt5.15.2的(其他低版本也一样的),要勾选上Archive(存…

vulnhub靶场 — NARAK

下载地址:https://download.vulnhub.com/ha/narak.ova Description:Narak is the Hindu equivalent of Hell. You are in the pit with the Lord of Hell himself. Can you use your hacking skills to get out of the Narak? Burning walls and demons are around every cor…

AI安全-文生图

1 需求 2 接口 3 示例 大模型图像安全风险探析 - 先知社区 前言 文生图模型是一种新兴的人工智能技术,它通过对大规模文本数据的学习,能够生成逼真的图像。这种模型包含两个主要组件:一个文本编码器和一个图像生成器。 文本编码器接收文本输入,并将其转换为一种数字化的表示…

JimuReport 积木报表 v1.8.0 版本发布,开源可视化报表

项目介绍 一款免费的数据可视化报表工具,含报表和大屏设计,像搭建积木一样在线设计报表!功能涵盖,数据报表、打印设计、图表报表、大屏设计等! Web 版报表设计器,类似于excel操作风格,通过拖拽完…

tomcat利用 nginx 反向代理

利用 nginx 反向代理功能,实现图中的代理功能,将用户请求全部转发至指定的同一个 tomcat 主机 利用 nginx 指令 proxy_pass 可以向后端服务器转发请求报文 , 并且在转发时会保留客户端的请求报文中的 host首部 实现 tomcat 中的负载均衡 动态服务器的…

qt-18 程序启动画面

程序启动画面 screen.hscreen.cppmain.cpp运行图启动图片启动后程序 screen.h #ifndef SCREEN_H #define SCREEN_H#include <QMainWindow>class Screen : public QMainWindow {Q_OBJECTpublic:Screen(QWidget *parent nullptr);~Screen(); }; #endif // SCREEN_Hscreen…

代码随想录算法训练营day48:单调栈

目录 739. 每日温度 503.下一个更大元素II 分析&#xff1a; 42. 接雨水 本质&#xff1a; 暴力解法 分析&#xff1a; 双指针优化 单调栈 84.柱状图中最大的矩形 分析&#xff1a; 双指针&#xff1a; 单调栈 739. 每日温度 力扣题目链接(opens new window) 请根…

为什么越来越多的IT青年转行网络安全?

目前&#xff0c;我国互联网已经从爆发增长期进入平稳发展阶段&#xff0c;同时每年大量计算机相关专业的毕业生涌入就业市场&#xff0c;导致IT行业逐渐趋于饱和状态&#xff0c;甚至出现裁员现象&#xff0c;去年很多大厂都有裁员&#xff0c;不少程序员再就业成了难题。 面…

Cache地址相联映像

直接相联映像&#xff1a;硬件电路直接连接 全相联映像; 电路难于设计和实现&#xff0c;只适用于小容量Cache&#xff0c;冲突率低 组相联映像&#xff1a;直接相联与全相联的折中。 冲突率 &#xff08;高&#xff0c;中&#xff0c;低&#xff09; 电路复杂度 其他 直接…

VSCode配置ssh免密连接远程服务器

我配置了免密设置(Windows利用ssh免密码登录Linux)&#xff0c;git bash已经能够正常连接了&#xff0c;但是vscode还是不行&#xff0c;很奇怪。 VSCode报错信息&#xff1a; [17:55:50.360] SSH Resolver called for "ssh-remote106.52.2.19", attempt 5, (Recon…

一文了解 Vue3 的 nextTick 大致信息

nextTick 是 Vue 3 中用于完成数据绑定和 DOM 更新后执行的方法&#xff0c;非常有用&#xff0c;也是 Vue 的一道比较常见的面试题。 1. 基本用法 nextTick 是一个异步方法&#xff0c;它允许我们在下一个 DOM 更新后执行回调函数。当更改了响应式数据并需要在更新后的 DOM …

C/C++控制台贪吃蛇游戏的实现

&#x1f680;欢迎互三&#x1f449;&#xff1a;程序猿方梓燚 &#x1f48e;&#x1f48e; &#x1f680;关注博主&#xff0c;后期持续更新系列文章 &#x1f680;如果有错误感谢请大家批评指出&#xff0c;及时修改 &#x1f680;感谢大家点赞&#x1f44d;收藏⭐评论✍ 一、…

OpManager Plus简单说明以及在Linux下的安装

目录 1 简介2 安装2.1 Linux下安装 1 简介 OpManager Plus 属于ManageEngine&#xff0c;是一款商业软件。 ManageEngine OpManager是一款全面的网络监视软件&#xff0c;可为网络管理员提供集成控制台&#xff0c;用于管理路由器&#xff0c;防火墙&#xff0c;服务器&#x…