Nginx 负载均衡 - fair

2023-11-03

学习在 Nginx 中使用 fair 模块(第三方)来实现负载均衡,fair 采用的不是内建负载均衡使用的轮换的均衡算法,而是可以根据页面大小、响应时间智能的进行负载均衡

1 准备工作

2 配置

  • 上传 nginx-upstream-fair-master.zip
  • 解压到 /usr/local 目录下。
unzip nginx-upstream-fair-master.zip
  1. 未安装过 Nginx

具体安装步骤参考: Nginx 安装 - Linux

# 只需要在 ./configure 时额外增加 fair 模块
--add-module=/usr/local/nginx-upstream-fair-master
  1. 已安装过 Nginx

如果已经安装过 Nginx ,又不想重新安装,则可以单独添加 fair 模块。

# 关闭 Nginx
/usr/local/nginx/sbin/nginx -s stop

# 查看 Nginx 安装时的配置参数,复制备用
/usr/local/nginx/sbin/nginx -V
# configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module ...

# 进入 nginx-1.16.1 目录
cd /usr/local/nginx-1.16.1

# 重新执行 cofigure 命令,增加 fair 模块的配置
./configure --prefix=/usr/local/nginx --error-log-path=/usr/local/nginx/logs/error.log --http-log-path=/usr/local/nginx/logs/access.log --pid-path=/usr/local/nginx/logs/nginx.pid --lock-path=/usr/local/nginx/logs/nginx.lock --http-client-body-temp-path=/usr/local/nginx/temp/client-body --http-proxy-temp-path=/usr/local/nginx/temp/proxy --http-fastcgi-temp-path=/usr/local/nginx/temp/fastcgi --http-uwsgi-temp-path=/usr/local/nginx/temp/uwsgi --http-scgi-temp-path=/usr/local/nginx/temp/scgi --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-file-aio --with-http_realip_module --add-module=/usr/local/nginx-upstream-fair-master

# 编译(不安装)
make

# 备份原来的 nginx 命令
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx-bak

# 替换原来的 nginx 命令
cp /usr/local/nginx-1.16.1/objs/nginx /usr/local/nginx/sbin/nginx

修改配置文件 nginx.conf ,如下:

upstream tomcat_test {
	fair;
	server 192.168.71.57:8080;
    server 192.168.71.57:8081;
}

最后启动 Nginx 服务,验证。本地采用 tomcat 里面 sleep 的方式测试,结果不对,奇怪!?



扫码关注微信公众号 程序员35 ,获取最新技术干货,畅聊 #程序员的35,35的程序员# 。独立站点:https://cxy35.com

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Nginx 负载均衡 - fair 的相关文章

随机推荐

  • 【华为OD机试真题2023B卷 JAVA&JS】采样过滤

    华为OD2023 B卷 机试题库全覆盖 刷题指南点这里 采样过滤 知识点滑窗 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 在做物理实验时 为了计算物体移动的速率 通过相机等工具周期性的采样物体移动距离 由于工具故障 采样
  • 【C语言】求任意两整数的和入门详解

    今天我们来看这个使用c语言编写的一个简易的求和程序 代码如下 define CRT SECURE NO WARNINGS 1 该行代码用来解决scanf函数报错的 不推荐使用scanf s来修正 因为该解决方案并非适用于所有编译器 incl
  • 极坐标转化

    在数学中 极坐标系是一个二维坐标系统 该坐标系统中任意位置可由一个夹角和一段相对原点 极点的距离来表示 极坐标系的应用领域十分广泛 包括数学 物理 工程 航海 航空以及机器人领域 两点间的关系用夹角和距离很容易表示时 极坐标系便显得尤为有用
  • Spring课件

    容器与 bean 1 容器接口 BeanFactory 接口 典型功能有 getBean ApplicationContext 接口 是 BeanFactory 的子接口 它扩展了 BeanFactory 接口的功能 如 国际化 通配符方式
  • Python自动化

    usr bin env python os system gnome terminal e bash c ls exec bash coding utf 8 import linecache import pyautogui import
  • Nginx(代理)+Tomcat(Java)+Apache(PHP)共用80端口

    解决的核心问题是 使用一个80端口 根据域名或者子域名 同时访问java php运行环境 1 下载nginx 官网下载链接 http nginx org en download html 接下来我以nginx Windows 1 16 0
  • 『学Vue2+Vue3』智慧商城项目

    智慧商城 接口文档 https apifox com apidoc shared 12ab6b18 adc2 444c ad11 0e60f5693f66 doc 2221080 演示地址 http cba itlike com publi
  • 在ubuntu下安装vscode

    ubuntu22 04下通过命令安装vscode 1 为什么不用应用市场直接下载 最近下载ubuntu22 04版本 不知道为啥里面的应用软件下载不了vscode 尝试在网上解决 gt 卸载自带的应用市场 安装另外的一种 结果失败了 导致原
  • 【路由指令】

    一 linux route add net 192 0 0 0 netmask 255 0 0 0 gw 192 180 30 1 sudo route add net 192 180 0 0 netmask 255 255 0 0 gw
  • python爬取今日头条后台数据_爬虫爬取今日头条数据代码实现

    课程链接 讲师的公众号文章 今日头条数据抓取及持久化 完整代码版 含IP和用户代理 mp weixin qq com 课程代码 抓取并持久化user agent工具utils py 对于爬虫工具 需要设置发起请求的user agent im
  • Spring Boot 框架基础

    Spring Boot 框架基础 基础案例 pom xml
  • BUCK LX_OUT Snubber电路

    1 问题 开关节点振铃 过冲 开关节点过冲会导致LX OUT管脚的电压过高 如果超过datasheet上的maximum值 就有可能影响DCDC芯片寿命 2 产生振铃 过冲的原因 2 1 输入电容摆放不正确 2 2 输出电感 电容摆放不正确
  • STM32F103滴答计时器之delay函数

    如果使用FreeRTOS void delay us u32 nus u32 ticks u32 told tnow tcnt 0 u32 reload SysTick gt LOAD ticks nus fac us tcnt 0 del
  • k8s删除deployment_k8s灾备指南(Velero)

    最近验证了使用velero对k8s进行灾难恢复 操作验证步骤如下 1 下载verlero 解压 tar xvf
  • java案例15:模拟订单号生成

    思路 模拟订单号生成 超市购物时 小票上都会有一个订单号 且订单号唯一 编写程序模拟订单系统中订单号的生成 生成订单号时 使用年月日和毫秒值组合生成唯一订单号 例如 给一个包括年月日和毫秒值的数组arr 2023 0401 1100 将其拼
  • git解决代码冲突、合并代码

    共同开发时提交代码会遇到代码冲突 第一次遇到就手足无措的我 打算写一篇博客记录下来 下次遇到稳如老狗 一 远程代码已有更新记录 忘记拉取远程代码 直接提交 单人开发时 我没有先拉远程代码再提交的习惯 千万不要学习 一定要先拉代码再提交 导致
  • 关于odoo条码显示问题处理

    这里分几种情况 1 第一种情况 打印的单据不显示条码 这种情况比较常见 一般是 没有对应字体导致 不能正常显示条码 单据打印的条码 一片空白 无条码的情况 这种情况是因为 条码的字体没有安装 需要安装一下 这里我会把资源上传 大家可以下载
  • Mac texlive+texstudio 如何手动安装宏包

    1 从CTAN上搜索自己需要的package 2 以subfigure为例 选择第一个结果 下载下来 3 解压下载后的文件 这时候发现里面并没有 sty文件 在终端中输入latex subfigure即可生成需要的sty文件 将整个文件夹保
  • nuxt.js-------koa2项目,环境错误一次性解决

    nuxt js虽然好用但是自己的脚手架安装完全是坑 cnpm run dev 报错确实main js node环境nuxt版本不匹配 在网上找了很多解决方法没有解决 就一次性把所有脚手架和环境都升级到最新版本 npm install bac
  • Nginx 负载均衡 - fair

    学习在 Nginx 中使用 fair 模块 第三方 来实现负载均衡 fair 采用的不是内建负载均衡使用的轮换的均衡算法 而是可以根据页面大小 响应时间智能的进行负载均衡 1 准备工作 nginx upstream fair 官方下载地址