【Nginx】Nginx搭建高可用集群

news2025/1/15 23:24:24
  • 1. Keepalived+Nginx 高可用集群(主从模式)
  • 2. 配置高可用的准备工作
  • 3. 在两台服务器上安装keepalived
  • 4. 完成高可用配置(主从配置)
  • 5. 最终测试

1. Keepalived+Nginx 高可用集群(主从模式)

2. 配置高可用的准备工作

  1. 需要两台服务器
  2. 需要keepalived
  3. 需要虚拟ip

3. 在两台服务器上安装keepalived

  1. 使用yum命令安装

    yum install keepalived-v
    
  2. 安装完成之后,在etc里面生成keepalived,有文件keepalived.conf

4. 完成高可用配置(主从配置)

  1. 修改/etc/keepalived/keepalived.conf配置文件
global_defs {

notification_email {

acassen@firewall.loc

failover@firewall.loc

sysadmin@firewall.loc

}

notification_email_from Alexandre.Cassen@firewall.loc

smtp_server 192.168.17.129

smtp_connect_timeout 30

router_id LVS_DEVEL

}

vrrp_script chk_http_port {
script "/usr/local/src/nginx_check.sh"

interval 2	#(检测脚本执行的间隔)

weight 2

}

vrrp_instance VI_1 {

state BACKUP	# 备份服务器上将 MASTER 改为 BACKUP

interface ens33	//网卡

virtual_router_id 51	# 主、备机的 virtual_router_id 必须相同

priority 100	# 主、备机取不同的优先级,主机值较大,备份机值较小

advert_int 1

authentication {

auth_type PASS


auth_pass 1111

}

virtual_ipaddress {

192.168.17.50 // VRRP H 虚拟地址

}

}

  1. /usr/local/src添加检测脚本
#!/bin/bash
A=`ps -C nginx –no-header |wc -l`
if [ $A -eq 0 ];
    then /usr/local/nginx/sbin/nginx
    sleep 2
    if [ `ps -C nginx --no-header |wc -l` -eq 0 ];
    	then killall keepalived
    fi
 fi
  1. 把两台服务器上nginx和keepalived启动

启动nginx

systemctl start nginx

启动keepalived

systemctl start keepalived.service

5. 最终测试

  1. 在浏览器地址栏输入虚拟地址ip 192.168.17.50

  1. 把主服务器(192.168.17.129) nginx和keepalived停止,在输入192.168.17.50

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Revit如何将明细表导出为DWG格式【批量导出图纸】

一、Revit中怎样将明细表导出到DWG文件中 有时需要将Revit中生成的各种明细表导入到CAD中使用,但是在明细表视图中并没有导出成DWG格式的选项如图1所示,应该如何操作才能导出成CAD可识别文件呢? 方法一:将明细表通过导出为报表选项…

Java 核心技术卷 I 基础知识笔记(一)

Java 的基本程序设计结构 2.1 一个简单的 Java 应用程序 一个最简单的 Java 应用程序,它只发送一条消息到控制台窗口中:/*** This is the first sample program in Core Java Chapter 3* version 1.01 1997-03-22* author Gary Cornell*/ public class…

分享111个Java源码,总有一款适合您

Java源码 分享111个Java源码,总有一款适合您 源码下载链接:https://pan.baidu.com/s/1fycjYHA7y6r-IH8H7v5XKA?pwdag8l 提取码:ag8l 下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下...&#xff…

网络编程学习记录

服务端首先是确定协议版本。首先定义一个结构体 WSADATA wsadata; 这个结构体是啥呢? 是Windows下得到广泛应用的、开放的、支持多种协议的网络编程接口。大家晓得了吧。 让我们看看这个结构体。 typedef struct WSAData {WORD wVersion; …

c++ socket之io复用模型 epoll进阶

服务器开发系列 文章目录服务器开发系列前言一、socket epoll介绍二、代码实现1. epoll client实现2. epoll server实现3. epoll client server验证总结前言 I/O复用模型:主要是指,一个线程可以同时监控多个系统IO、并且能够操作多个系统IO的一种技术模…

西瓜书第一章课后题答案(一)

1.1 针对西瓜分类分题进行讲解属性: 3个属性色泽:(青绿,乌黑,浅白)根蒂:(蜷缩,硬挺,稍蜷)敲声:(浊响,清脆&…

Docker网络network详解

一、概述 Docker容器每次重启后容器ip是会发生变化的。 这也意味着如果容器间使用ip地址来进行通信的话,一旦有容器重启,重启的容器将不再能被访问到。 而Docker 网络就能够解决这个问题。 Docker 网络主要有以下两个作用: 容器间的互联和…

【ROS2入门】理解 ROS 2 节点

大家好,我是虎哥,从今天开始,我将花一段时间,开始将自己从ROS1切换到ROS2,在上一篇中,我们依托Turtlesim演示节点来逐步展开,介绍了rqt工具,这一章,我们将围绕ROS2中主要…

jvm快速入门

1.JVM介绍 1.什么是jvm Java Virtual Machine(java二进制字节码运行环境) 好处: 一次编译,好处运行自动内存管理,垃圾回收机制数组下标越界检查多态 比较JVM\JRE\JDK jvm屏蔽java代码与底层操作系统的差异 JREJVM基…

基于 java springboot+layui仓库管理系统设计和实现

基于 java springbootlayui仓库管理系统设计和实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码…

基于基于jsp+mysql+Spring+mybatis的SSM汽车保险理赔管理系统设计和实现

基于基于jspmysqlSpringmybatis的SSM汽车保险理赔管理系统设计和实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐…

12图、网络、关联矩阵

第 12 讲 图、网络、关联矩阵 Graphs,networks,incidence matrices 本讲讨论线性代数在物理系统中的应用。 图和网络 Graphs & Networks “图”就是“结点”和“边”的一个集合。 边线上的箭头代表从结点流出的正方向。 关联矩阵(I…

独立开发变现周刊(第87期):靠写简历如何每年赚24万美元?

分享独立开发、产品变现相关内容,每周五发布。目录1、mall4cloud: 开源的微服务B2B2C电商商城系统2、restorePhotos:开源的老照片修复系统3、JSON Crack——开源、免费的JSON可视化应用程序4、靠写简历如何每年赚24万美元?1、mall4cloud: 开源…

干货:用户分析的六大方法论(一)

​在日常的用户分析中,常用的有六大分析方法论: 1、行为事件分析2、点击分析模型3、用户行为路径分析4、用户健康度分析5、漏斗模型6、用户画像分析 1.行为事件分析 “行为事件分析”是用户分析的第一步,也是用户分析的核心和基础。一般来说…

代码随想录训练营第五十九天

1.下一个更大元素II 题503 循环数组有两种方法&#xff0c;一是用同一个数组拼接成两个数组&#xff0c;实现假循环&#xff1b;二是遍历两遍&#xff0c;用求余的方法。求余的方法更简便。 class Solution { public:vector<int> nextGreaterElements(vector<int>…

虚拟化技术学习笔记9

KVM存储虚拟化配置&#xff1a; 学习目标&#xff1a; 能够通过virt-manager添加硬盘&#xff1b;能够通过virsh添加硬盘&#xff1b;能够通过xml文件添加硬盘&#xff1b;能够了解本地存储的作用&#xff1b;能够设置本地存储&#xff1b;能够了解网络存储的作用&#xff1b…

黑马程序员SSM框架教程_Spring+SpringMVC+MyBatisPlus笔记(自学用,持续更新)

Spring的实现有两种方式&#xff0c;一是配置&#xff0c;二是注解 目录Spring_day01IOC、DIBean的基本配置、实例化、生命周期Bean的基本配置bean的实例化训练中的不足1&#xff1a;bean的生命周期DI相关内容setter注入构造器注入小结自动注入集合注入Spring_day02Spring_day0…

深入理解计算机系统_程序的加载过程和运行过程

这篇博客记录编译得到可执行目标文件后&#xff0c;加载和运行的过程。 编译得到可执行目标文件后&#xff0c;就可以将“可执行目标文件”加载“运行地址”所指的内存位置&#xff0c;然后运行了。下面记录Linux虚拟内存运行的运行过程。 2.1 程序的加载过程 当在windows下双…

【Java AWT 图形界面编程】LayoutManager 布局管理器 ③ ( BorderLayout 布局 )

文章目录一、BorderLayout 布局二、BorderLayout 构造函数 API三、BorderLayout 代码示例1、BorderLayout 基本用法代码示例2、BorderLayout 区域占用代码示例3、BorderLayout 同一区域显示多个组件代码示例一、BorderLayout 布局 BorderLayout 布局 将 Container 容器 分割成 …

深度学习PyTorch 之 DNN-二分类

本节开始说一下DNN分类的pytorch实现&#xff0c;先说一下二分类 流程还是跟前面一样 #mermaid-svg-7Bxg4CYlbKjYOMMf {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-7Bxg4CYlbKjYOMMf .error-icon{fill:#552222;}…