lvs+keepalived+nginx负载搭建


LVS:(linux virtual server)是一款网络模型四层的负载软件,即IP+端口的转发模式,
LVS:提供三种负载方式:
VS/NAT:网络地址转化
VS/TUN:端
VS/DR:直接轮询模式
10种调度算法:常用的由一下几种:
rr:轮叫调度,不管每个服务器的实际情况 
wrr :加权轮叫调度。 
lc:最少链接调度 
wlc:加权最少链接调度
环境如下:
操作系统:centos7
Lvs主调度器:192.168.65.128
备调度器:192.168.65.129
VIP:192.168.65.200
Real server1:192.168.65.150
Real server2:192.168.65.151

系统结构图如下:

LVS主备上面,配置linux系统内核参数开启内核的路由模式
vim /etc/sysctl.conf
net.ipv4.ip.forward = 1 
立即生效

```
# sysctl -p 
```

所有服务器先暂时关闭iptables服务,避免影响服务搭建。

在主备服务器上安装LVS
选择yum或源码包的安装方式

```
#yum install ipvsadm
#wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz
#tar –zxvf ipvsadm-1.26.tar.gz
#make && make install
```

对主备配置LVS,将请求分别轮询到150和151

```
#ipvsadm –A 192.168.65.200:80 –s wrr  这里是加权轮询
#ipvsadm –a 192.168.65.200:80 –r 192.168.65.150:80 –g –w 5
# ipvsadm –a 192.168.65.200:80 –r 192.168.65.150:80 –g –w 5
```

为了使配置文件一直生效可以添加进配置文件中

```
Vim /etc/sysconfig/ipvsadm
ipvsadm –A 192.168.65.200:80 –s wrr  这里是加权轮询
ipvsadm –a 192.168.65.200:80 –r 192.168.65.150:80 –g –w 5  
 ipvsadm –a 192.168.65.200:80 –r 192.168.65.150:80 –g –w 5
#-g表示直接路由,-w表示权重的值
```

在主备服务器安装keepalived

```
#wget http://www.keepalived.org/software/keepalived-1.2.4.tar.gz
#tar –zxvf keepalived-1.2.4.tar.gz
#./configure –prefix=/usr/local/keepalived
#make && make install
```

 
将keepalived做成开启启动服务

```
#cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/
#cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
#cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
#cp /usr/local/sbin/keepalived /usr/sbin/
```

在主备配置keepalived.conf  主LVS上面的keepalived的配置文件

```
! Configuration File for keepalived
global_defs {
   notification_email {
   }
   router_id LVS_MASTER      //备LVS上面LVS_BACKUP
}
vrrp_instance VI_1 {
    state MASTER            //备LVS设置BACKUP
    interface eno16777736    //centos6设置为eth0
    virtual_router_id 51
    priority 150                //备LVS设置100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.65.200
    }
}

vrrp_server 192.168.65.200 80 {
    delay_loop     3
    lb_algo wrr
    lb_kind DR
    persistence_timeout 30
    protocol TCP
    real_server 192.168.65.200 80 {
        weight 3
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }
    
    real_server 192.168.65.200 80 {
        weight 3
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        } 
    }
}
```

安装nginx 下载需要的nginx的源码包

```
#wget http://nginx.org/download/nginx-xx.xx.tar.gz
#tar –zxvf nginx1.9.4.tar.gz
#./configure –prefix=/usr/local/nginx
#make && make install
```

配置real server服务器,两台nginx的服务器都一样,禁止arp相应的请求

```
Vim /etc/sysctl.conf
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce =2
```
两台real server 配置虚拟网卡 新建ifcfg-lo:0
vim /etc/sysconfig/network-scripts/ifcfg-lo:0

```
DEVICE=lo:0
BOOTPROTO=static
IPADDR=192.168.65.200
NETMASK=255.255.255.255
ONBOOT=yes
```

使配置生效:sysctl –p
为了区分两台real server服务器对nginx做如下配置
修改Real server1 和real server2 

```
Vim nginx/html/index.html
<h1>Welcome to nginx!192.168.65.150</h1>
<h1>Welcome to nginx!192.168.65.151</h1>
```

分别启动服务
主备LVS : service ipvsadm start 
        Service keepalived start
Real server: service nginx start 
测试在浏览器输入:192.168.65.200
任意一台服务器宕机,查看服务是否可用

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

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

相关文章

PHP7垃圾回收算法

前提 本文为了梳理PHP GC工作流程&#xff0c;所以从引用计数、部分标记清除算法做引子&#xff0c;然后介绍PHP GC工作流程,最后介绍性能更高的GC算法 引用计数 概述 引用计数算法中引入了一个概念计数器。计数器代表对象被引用的次数 基本原理 为了记录一个对象有没有被…

【Android】【root remount】【3】remount 文件详细信息获取

前言 我们在root & remount 设备后&#xff0c;push相关文件到systm 、vendor、product 等目录进行调试&#xff0c;那么我们push的文件被保存在什么地方呢&#xff1f; 以及我们FWS、app侧如何过去push 的文件信息呢&#xff1f; remount push 文件保存 push 文件保存的…

python 有哪些函数

Python内置的函数及其用法。为了方便记忆&#xff0c;已经有很多开发者将这些内置函数进行了如下分类&#xff1a; 数学运算(7个) 类型转换(24个) 序列操作(8个) 对象操作(7个) 反射操作(8个) 变量操作(2个) 交互操作(2个) 文件操作(1个) 编译执行(4个) 装饰器(3个) …

硬件 - 施密特比较器

文章目录 1 . 概要2 . 施密特比较器电路3 . 施密特比较器计算4 . 小结 【全文大纲】 : https://blog.csdn.net/Engineer_LU/article/details/135149485 1 . 概要 1 . 比较器主要作用是比较输入的两个信号&#xff0c;而有时候两个信号的值都差不多大的时候一点抖动&#xff0c;…

PHP自助建站系统,小白也能自己搭建网站

无需懂代码&#xff0c;用 自助建站 做企业官网就像做PPT一样简单&#xff0c;您可以亲自操刀做想要的效果&#xff01; 自助建站是一款简单、快捷、高效的工具&#xff0c;可以帮助您制作响应式网站。我们的自助建站系统&#xff0c;将传统的编码工作转化为直观的拖拽操作和文…

【计算机毕业设计】校园网书店系统——后附源码

&#x1f389;**欢迎来到我的技术世界&#xff01;**&#x1f389; &#x1f4d8; 博主小档案&#xff1a; 一名来自世界500强的资深程序媛&#xff0c;毕业于国内知名985高校。 &#x1f527; 技术专长&#xff1a; 在深度学习任务中展现出卓越的能力&#xff0c;包括但不限于…

Quanto: PyTorch 量化工具包

量化技术通过用低精度数据类型 (如 8 位整型 (int8)) 来表示深度学习模型的权重和激活&#xff0c;以减少传统深度学习模型使用 32 位浮点 (float32) 表示权重和激活所带来的计算和内存开销。 减少位宽意味着模型的内存占用更低&#xff0c;这对在消费设备上部署大语言模型至关…

基于JAVA的校园失物招领平台

采用技术 基于JAVA的校园失物招领平台的设计与实现~ 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringMVCMyBatis 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 页面展示效果 管理员功能 论坛管理 失物认领管理 寻物启事管理 用户管理 失物…

如何查询运行的服务器的整机功耗?

要在Linux服务器上安装Powerstat&#xff0c;您可以根据所使用的Linux发行版选择适当的命令。 对于Ubuntu/Debian系统&#xff0c;您可以使用以下命令安装Powerstat&#xff1a; sudo apt-get install powerstat 对于Redhat/CentOS系统&#xff0c;您应该使用以下命令&#x…

ReLU Strikes Back: Exploiting Activation Sparsity in Large Language Models

iclr 2024 oral reviewer 评分 688 1 intro 目前LLM社区中通常使用GELU和SiLU来作为替代激活函数&#xff0c;它们在某些情况下可以提高LLM的预测准确率 但从节省模型计算量的角度考虑&#xff0c;论文认为经典的ReLU函数对模型收敛和性能的影响可以忽略不计&#xff0c;同时…

专为苹果系统设计的精美可视化图表 | 开源日报 No.219

danielgindi/Charts Stars: 27.3k License: Apache-2.0 Charts 是为 iOS/tvOS/OSX 提供美观图表的开源项目&#xff0c;是跨平台 MPAndroidChart 在苹果设备上的实现。该项目提供了以下主要功能和优势&#xff1a; 支持 iOS、tvOS 和 macOS 平台使用 Swift 编写&#xff0c;可…

FFmpeg: 简易ijkplayer播放器实现--01项目简介

文章目录 项目介绍流程图播放器实现过程界面展示 项目介绍 此项目基于FFmeg中 ffplay.c进行二次开发&#xff0c;实现基本的功能&#xff0c;开发软件为Qt 项目优势&#xff1a; 参考ijkplayer播放器&#xff0c;实现UI界面和播放器核心进行解耦&#xff0c;容易添加其他功能…

互联网轻量级框架整合之MyBatis核心组件

在看本篇内容之前&#xff0c;最好先理解一下Hibernate和MyBatis的本质区别&#xff0c;这篇Hibernate和MyBatis使用对比实例做了实际的代码级对比&#xff0c;而MyBatis作为更适合互联网产品的持久层首选必定有必然的原因 MyBatis核心组件 MyBatis能够成为数据持久层首选框&a…

利用图和侧信息的核概率矩阵

文章信息 本周阅读的论文是一篇2012年发表在《Proceedings of the 2012 SIAM International Conference on Data Mining》上关于概率矩阵分解的文章&#xff0c;题目为《Kernelized Probabilistic Matrix Factorization Exploiting Graphs and Side Information》。 摘要 我们提…

【STM32篇】DRV8425驱动步进电机

【STM32篇】4988驱动步进电机_hr4988-CSDN博客 在上篇文章中使用了HR4988实现了步进电机的驱动&#xff0c;在实际运用过程&#xff0c;HR4988或者A4988驱动步进电机会存在电机噪音太大的现象。本次将向各位友友介绍一个驱动简单且非常静音的一款步进电机驱动IC。 1.DRV8425简介…

头歌-机器学习实验 第8次实验 决策树

第1关&#xff1a;什么是决策树 任务描述 本关任务&#xff1a;根据本节课所学知识完成本关所设置的选择题。 相关知识 为了完成本关任务&#xff0c;你需要掌握决策树的相关基础知识。 引例 在炎热的夏天&#xff0c;没有什么比冰镇后的西瓜更能令人感到心旷神怡的了。现…

Fast-Planner(五)详解TopologyPRM

本文上接Fast-Planner第一篇文章的内容&#xff0c;本文主要详解这一系列的第二篇Robust Real-time UAV Replanning Using Guided Gradient-based Optimization and Topological Paths中的TopologyPRM即其代码。如有问题&#xff0c;欢迎各位大佬评论指出&#xff0c;带着我一起…

C语言面试题之返回倒数第 k 个节点

返回倒数第 k 个节点 实例要求 1、实现一种算法&#xff0c;找出单向链表中倒数第 k 个节点&#xff1b;2、返回该节点的值&#xff1b; 示例&#xff1a;输入&#xff1a; 1->2->3->4->5 和 k 2 输出&#xff1a; 4 说明&#xff1a;给定的 k 保证是有效的。实…

Unity 获取RenderTexture像素颜色值

拿来吧你~ &#x1f9aa;功能介绍&#x1f32d;Demo &#x1f9aa;功能介绍 &#x1f4a1;不通过Texture2D 而是通过ComputerShader 提取到RenderTexture的像素值&#xff0c;效率有提升哦&#xff01; &#x1f4a1;通过扩展方法调用&#xff0c;方便快捷&#xff1a;xxxRT.G…

无人机低空数字摄影测量系统

一、 系统概述 系统完全基于IDL设计实现&#xff0c;包括界面布局到人机交互再到底层核心函数功能。整体设计框架基于数字摄影测量的专业处理流程&#xff0c;实现了数据输入、数据预处理、影像信息检测、空间定向、地形三维建模、专题信息提取、成果输出与更新等功能。同时为…