Nginx实现负载均衡

news2024/11/26 8:28:58

目录

一、环境准备

1、准备3台centos服务器

2、软件安装

二、负载均衡配置

三、其他分配策略

1、fair(第三方)


一、环境准备

1、准备3台centos服务器​​​​​​​

服务器名称主机名IP安装服务备注
Nginx反向代理服务器proxy192.168.1.10nginx关闭selinux和firewalld
httpd网站服务器web1192.168.1.20httpd关闭selinux和firewalld
httpd网站服务器web2192.168.1.30httpd关闭selinux和firewalld

2、软件安装

(1)、proxy服务器

安装nginx:Nginx安装、配置与概述_桂安俊@kylinOS的博客-CSDN博客

(2)、web1和web2服务器

yum install httpd -y   
 
#web1服务器
echo "this is 192.168.1.20 web1 server" > /var/www/html/index.html  #做一个首页,用于标记
 
#web2服务器
echo "this is 192.168.1.30 web2 server" > /var/www/html/index.html  #做一个首页,用于标记

修改web1和web2服务器/etc/httpd/conf/httpd.conf监听端口为8080,并启动httpd服务

二、负载均衡配置

vim /usr/local/nginx/conf/nginx.conf

http {
    upstream myserver {             #在http块的全局配置新增upstream块,myserver为自定义名
        #ip_hash;        #使同一ip客户端始终访问一个web server,为了演示这里先不加
        server 192.168.1.20:8080 weight=1; #weight是权重,默认是1,可根据服务器性能配置
        server 192.168.1.30:8080 weight=1;

    }

    ... ...

    server {
            listen       80;
            server_name  192.168.1.10;

            #charset koi8-r;

            #access_log  logs/host.access.log  main;

            location / {
                proxy_pass http://myserver;    #和上面自定义的upstream块里的server名对应
                root   html;
                index  index.html index.htm;
        }

... ...

}

/usr/local/nginx/sbin/nginx -s reload

客户端测试:

访问:http://192.168.1.10/

 

 如上图可以看到,浏览器每刷新一次,都会平均访问到web1和web2。

【注】每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,nginx能自动提出down掉的服务器,等down掉服务器恢复后,又会自动加入轮询集群中。

以上常规策略包含了轮询、加权轮询、ip_hash

三、其他分配策略

1、fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

配置示例:

upstream myserver {           
        server 192.168.1.20:8080;
        server 192.168.1.30:8080;

        fair;

    }

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

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

相关文章

ES倒排序索引

前言 在学习Elasticsearch的使用前,我们先来了解下es是如何实现全文搜索的。 倒排索引是 Elasticsearch 中非常 重要的索引结构,从 文档单词到文档 ID 的过程 为什么要使用倒排索引 先看下面的商品数据goods id 标题 描述 1 小米手机 小米手机性…

【保姆级】新机器部署Redis

1、登录服务器,如果非root用户则切root用户 sudo su - 2、安装gcc yum install gcc-c 3、在/usr/tmp目录上传redis安装包 4、将安装包移到/opt/byd目录 mv redis-4.0.11.tar.gz /opt/byd 5、解压 & 重命名 tar -xzvf redis-4.0.11.tar.gz mv redis-4.0.11 …

安全狗受邀出席CIS 2022网络安全创新大会

11月16日,由网络安全行业门户Freebuf主办的CIS 2022网络安全创新大会(简称CIS)在上海主会场顺利开幕。 作为国内云原生安全领导厂商,安全狗也收到邀请出席此次活动。 据悉,此次大会分为上海、北京、深圳等多个会场&am…

Pytorch中的DDP

一. 概览 DDP的原理? 在分类上,DDP属于Data Parallel。简单来讲,就是通过提高batch size来增加并行度。为什么快? DDP通过Ring-Reduce的数据交换方法提高了通讯效率,并通过启动多个进程的方式减轻Python GIL的限制&am…

2022-11-17 mysql列存储引擎-聚合运算中间结果缓存磁盘文件以避免OOM-需求分析

摘要: mysql列存储引擎-聚合运算中间结果缓存磁盘文件以避免OOM-需求分析 关联ISSUE: https://github.com/stoneatom/stonedb/issues/21 需求分析ISSUE: https://github.com/stoneatom/stonedb/issues/949 上下文说明: 当前聚合运算的结果都缓存在了内存的HASH中, 一旦数据量…

数据库等值查询与统计信息

概念 统计信息是为优化器的 cost 估算提供数据支撑,其中很重要的一点需求便是等值查询(EQUALS, IN 等) 场景下的基数估算。考虑以下 Case CREATE TABLE mc_tac_template (ID BIGINT ,NAME varchar(50) NOT NULL,GENDER varchar(10) NOT NULL,PRIMARY KEY (ID),KEY K…

工业设计公司的办公环境有哪些特点?

设计公司的办公环境一直被称之为个性化的意味着,见惯了新科技公司的各类智能化豪情万丈的办公环境,也有别于正儿八经办公楼的循规蹈矩,每个设计公司的公司办公室总似一股清流一般的存在,自然各种设计公司,如平面、工业…

Flutter 在项目中使用动画(不使用包)

Flutter 在项目中使用动画(不使用包) 前言 动画对于 web 和移动应用程序都非常重要。但是在移动应用程序中不应该使用夸张的动画。简单但是很多动画使你的应用程序更好用。以至于当你点击一个按钮时,一种平滑的感觉或者页面过渡都会影响到你。 正文 1 按下按钮柔软的…

UNIAPP实战项目笔记39 我的页面布局

UNIAPP实战项目笔记39 我的页面布局 my.vue 我的页面布局 具体图片自己替换哈,随便找了个图片的做示例 代码 pages.json部分 去掉默认导航栏,改为自定义导航栏 ,{"path" : "pages/my/my","style" : …

408 | 【数据结构】 排序 —— 总复习框架总结

(一)排序的基本概念 排序算法的稳定性:经过排序后,能使关键字相同的元素保持原顺序中的相对位置不变。 (二)内部排序 2.1、插入排序 算法思想:每次将一个待排序的记录按其关键字大小插入到前面已排好序的子序列中,直到全部记录插入完成。 2.1.1、直接插入排序 顺…

通过Xamarin实现东大集成PDA的扫码

目录1、东大集成PDA的扫码说明2、Xamarin通过广播实现扫码2.1 PDA的扫码工具设置2.2 代码实现2.2.1 主界面2.2.1 定义广播接收器2.2.2 在活动页面实现读取2.3 实现效果3、demo下载1、东大集成PDA的扫码说明 东大集成的PDA有两种方式实现设备自带的扫码功能。一种为调用硬件接口…

终极大招~pycharm自动补全opencv代码提示功能

你的pycharm还能自动补全opencv代码提示吗? 你可能通过修改cv2,进入__init__.py文件,一顿操作,还是不行。 你以为是工具问题,卸载重装? 还是opencv卸载重装好几次了 这次分享下我的方案,保证你一看就会。…

人工智能数学基础--概率与统计10:离散随机变量的概率函数及常见的二项分布、泊松分布

一、离散随机变量的概率函数及分布函数 设X为离散随机变量,其全部可能取值为{a1,a2,…},则:piP(Xai) &nsp&nsp&nsp&nsp (i1,2,…)称为X的概率函数,也称为随机变量X的概率分布; 设X为随机变量&#xf…

【lombok】equals相等返回false contains包含返回false? lombok注解的一个天坑

最近在写代码的时候 遇到个奇怪的问题 使用 list.contains(obj) 方法判断&#xff0c;明明是两个内容一样的对象&#xff0c;却返回了false 这里用伪代码还原一下场景&#xff1a; // 从数据库取的所有数据 List<SysMenuDTO> allList getDataFromDB(); // 一个id等于1…

【Detectron2】代码库学习-3. LazyConfig 配置文件

目录1. 配置文件2. LazyConfig 导入导出3. 递归实例化4. 基于LazyConfig的训练步骤4.1 导入依赖库4.2 日志初始化4.3 训练4.4 评估4.5 训练流程4.6 主函数入口5. TipsDetectron2是Facebook AI Research(FAIR)推出的基于Pytorch的视觉算法开源框架&#xff0c;主要聚焦于目标检测…

进程的通信 - 邮槽

邮槽 邮槽是Windows系统提供的一种单向进程间的通信机制。对于相对简短的地坪率信息发送&#xff0c;使用邮槽通常比命名管道或者Unix域套接字更简单 使用邮槽通信的进程分为服务端和客户端。邮槽由服务端创建&#xff0c;在创建时需要指定邮槽名&#xff0c;创建后服务端得…

PIC单片机-测试例程汇总

内容包括PIC单片机常用外设的测试例程。紫色文字是超链接&#xff0c;点击自动跳转至相关博文。持续更新&#xff0c;原创不易&#xff01;目录&#xff1a;一、端口的定义与while(1)的使用二、延时1、通过语句延时程序&#xff08;带参数&#xff09; 2、通过语句延时程序&…

N3-PEG-NHS,Azide-PEG-NHS,叠氮-聚乙二醇-活性酯可用来修饰蛋白质

一、详情介绍 1、名称 英文&#xff1a;N3-PEG-NHS&#xff0c;Azide-PEG-NHS 中文&#xff1a;叠氮-聚乙二醇-活性酯 2、描述 Azide-PEG-NHS的分子量&#xff1a;Azide-PEG-NHS 1k&#xff0c;叠氮-聚乙二醇-活性酯 2k&#xff0c;叠氮-PEG-活性酯 5k&#xff0c;N3-PEG-…

rr来debug你的C/C++程序(Linux)

如何用rr来debug你的C/C程序(Linux) 想象一下如果你的程序某时会崩溃&#xff0c;但是不能稳定复现&#xff0c;你会如何debug它? 用传统debugger面临的问题就是你不知道这次运行的时候能不能复现&#xff0c;你猜测可能某段代码出现了问题&#xff0c;所以进行了一番检查。…

柔性制造物料抓取及加工系统设计

目 录 摘 要 I Abstract II 1 绪论 1 1.1 选题背景及意义 1 1.2 国内外研究现状 2 1.3六自由度并联机器人介绍 3 1.4研究主要内容 6 1.4.1主要设计要求 6 1.4.2技术参数 7 2柔性制造物料抓取及加工系统的结构及工作原理 8 2.1 并联运动机构概述 8 2.2 六自由度并联加工机器人总…