如何通过示例将 Nginx 配置为负载均衡器

2023-11-17

Nginx 是一种流行的开源 Web 服务器软件,也可以用作负载均衡器。负载平衡是一种在多个服务器之间分配传入流量的技术,以提高性能、提高可用性并避免任何单个服务器过载。在本文中,我们将通过示例讨论如何将 Nginx 配置为负载均衡器。

要将 Nginx 配置为负载均衡器,需要执行以下步骤:

  1. 安装 Nginx 网络服务器
  2. 配置上游并添加后端服务器所有节点
  3. 与上游设置 proxy_pass 位置
  4. 重新启动 Nginx 服务器以应用更改
  5. 测试 Nginx 负载均衡器设置

让我们一一按照步骤来完成 Nginx 配置以充当负载均衡器。

第1步:安装Nginx

第一步是在充当负载均衡器的服务器上安装 Nginx。 Nginx 可以使用包管理器安装在大多数 Linux 发行版上。例如,在 Ubuntu 上,您可以运行以下命令:

sudo apt-get update 
sudo apt-get install nginx 

在基于 RHEL 的系统上,您可以使用以下命令来安装 Nginx:

sudo yum install nginx 

现代基于 RHEL 的系统使用 DNF 包管理器。

步骤 2:配置上游服务器

下一步是定义将从负载均衡器接收流量的服务器。这些服务器称为上游服务器。您可以在 Nginx 配置文件中定义它们/etc/nginx/nginx.conf。在文本编辑器中打开该文件并添加以下代码:

1
2
3
4
5
6
http {
    upstream myapp {
        server 192.168.10.201;
        server 192.168.10.202;
    }
}

在此示例中,我们定义了一个名为的上游组“myapp”其中包括两个服务器:192.168.10.201 and 192.168.10.202。这些是将接收来自负载均衡器的流量的服务器。

步骤 3:配置负载均衡器

现在我们已经定义了上游服务器,我们可以配置负载均衡器。将以下代码添加到http块中nginx.conf:

1
2
3
4
5
6
7
8
9
10
11
12
13
http {
    upstream myapp {
        server 192.168.10.201;
        server 192.168.10.202;
    }
 
    server {
        listen 80;
        location / {
代理通行证http://myapp;
        }
    }
}

在此代码中,我们定义了一个侦听端口 80(默认 HTTP 端口)的服务器块。 location / 块指定应路由到上游服务器的 URL 路径。这代理通行证指令告诉 Nginx 将传入的请求转发到“myapp”我们之前定义的上游组。

第四步:重启Nginx

最后,重新启动 Nginx 以将更改应用到配置文件。运行以下命令:

sudo service nginx restart 

第 5 步:测试负载均衡器

为了测试负载均衡器,我们可以使用 Web 浏览器或 cURL 等工具向服务器发送 HTTP 请求。当我们访问location/块中配置的URL时,Nginx会将请求转发到其中一台上游服务器“myapp” group.

如果一切正常,您应该会看到来自上游服务器之一的响应。您可以通过多次刷新页面并检查响应每个请求的服务器的 IP 地址来确认两台服务器之间的负载是否均衡。

结论

将 Nginx 配置为负载均衡器是一个简单的过程,可以帮助提高 Web 应用程序的性能和可用性。通过定义上游服务器并配置负载均衡器,您可以在多个服务器之间分配传入流量,并避免任何单个服务器过载。

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

如何通过示例将 Nginx 配置为负载均衡器 的相关文章

随机推荐

  • 1.1c/c++开源库清单

    以下我是从 资源网站 获取到的数据 关于 C 框架 库和资源的一些汇总列表 由 fffaraz 发起和维护 内容包括 标准库 Web应用框架 人工智能 数据库 图片处理 机器学习 日志 代码分析等 标准库 C 标准库 包括了STL容器 算法
  • “放弃 GitHub ,时机已到”,软件自由保护协会怒批!

    整理 彭慧中 责编 屠敏 出品 CSDN ID CSDNnews 诞生 14 年来 凭借完整协议支持 Git格式的版本库托管等优势 GitHub成为了最受开发者欢迎的代码托管平台 不过 近几年来 随着GitHub的一些转变 引发了行业内一些
  • 第一节:数据类型——null,undefined和布尔值

    JavaScript 的数据类型 共有六种 ES6 又新增了第七种 Symbol 类型的值 数值 number 整数和小数 比如1和3 14 字符串 string 文本 比如Hello World 布尔值 boolean 表示真伪的两个特殊
  • 矩阵求导网站

    https www matrixcalculus org
  • 离散傅里叶变换的一些理解和LTE基带信号生成的数学理解

    离散傅里叶变换 DFT 快速傅里叶变换 FFT 是一种运用蝶形算子计算DFT的方法 下面是matlab实现代码 close all clear fs 200 N 256 采样freq和数据点数 n 0 N 1 t n fs 时间序列 x 0
  • Mac5款高效实用软件,值得推荐

    目录 1 MarginNote 3 阅读批注学习笔记软件 2 iShot Mac截图 长截图 带壳截图 贴图 标注 取色 录屏 录音 OCR 翻译 合集工具 3 KeyCastr 实时显示按下的按键 4 MindNode 超美观的思维导图
  • odoo 12 : 权限安全(security)

    Odoo 中使用安全组来实现 权限授予组 组中分配用户 Odoo 应用通常有两个组 针对普通用户的用户组 包含额外应用配置权限的管理员组 1 安全组 group security 模型名 security xml security ir m
  • tensorflow中model.fit()用法

    tensorflow中model fit 用法 model fit 方法用于执行训练过程 model fit 训练集的输入特征 训练集的标签 batch size 每一个batch的大小 epochs 迭代次数 validation dat
  • layui switch 设置默认开关属性

    给元素定义ID switch order var flag true if flag document getElementById switch order setAttribute checked on else document ge
  • 最近超火的ChatGPT到底怎么样?体验完后我有哪些感受和思考?

    本文主题 ChatGPT 人工智能 官方网站 chat openai com 文章目录 前言 二 初识 三 深入 四 编程相关 编写 纠错 五 感想 六 展望 七 结语 前言 大家好 这次我们来聊一聊最近超级火的人工智能语音 ChatGPT
  • 针式打印机无电脑测试软件,针式打印机断针测试软件合集

    这是针式打印机断针测试软件合集 是一款适用于24针针式打印机的断针测试软件 针式打印机最大的弊端是有出现断针的可能性 会导致票据缺点少横 很容易出现误差 您可以使用该软件测试您的打印机是否存在断针以及是哪一个针断了 为您解决打印机的故障提供
  • 微信小程序实现左侧滑动导航栏

    微信小程序实现左侧滑动导航栏 1 左侧滑动导航栏图如下 2 这是我们左侧滚动栏的代码 wxml
  • 论文笔记:Deep Learning for Anomaly Detection inTime-Series Data: Review, Analysis,and Guidelines

    2021 的paper 1 时间序列数据异常的定义 离群值 outlier 与其他观察结果偏差过大 以至于怀疑它是由不同机制产生的 时间序列的异常值 某一个 些时间片的数值值 展现出与先前时间步长显着不同的意外行为 根据之前的文献 作者将时
  • 为 crontab 作业设置环境变量

    Crontab 是 Unix 和类 Unix 操作系统中的一个功能强大的实用程序 用于安排命令在固定时间 日期或间隔定期运行 这个强大的工具与环境变量相结合 可以为自动化和管理任务提供更强大的解决方案 但是什么是环境变量 如何在 Cront
  • MB、Mb 和 MiB(数字单位)之间的区别

    在当今的数字世界中 理解和区分各种数字单元的需求变得越来越重要 MB Mb 和 MiB 等单位经常用于表示文件大小 存储容量和数据传输速率 然而 围绕这些术语的混淆常常会导致误解和错误 本文旨在提供全面的指南 帮助您理解这些数字单位 它们的
  • 如何在 CentOS/RHEL 7/6 上使用 PHP/FastCGI 设置 Apache

    FastCGI功能与 CGI 的工作非常相似 FastCGI 与 CGI 相比 在一些地方存在差异 例如 FastCGI 进程是持久的 并且每个进程可以处理多个请求 FastCGI 允许通过在单个全双工连接上复用环境信息 标准输入 输出和错
  • 使用 PHP/JQuery 提交表单而不刷新页面

    在广阔的 Web 开发领域中 创建用户友好的体验至关重要 增强用户体验 UX 的一种方法是简化表单提交流程 传统的表单提交需要刷新页面来处理数据 这对于用户来说可能是令人沮丧且耗时的 使用 PHP 和 jQuery 可以克服这个问题并无需刷
  • 如何清除 Docker 容器的日志文件

    本教程将帮助您清除 Docker 容器上的日志文件 如果您的系统磁盘空间不足 并且您发现 docker 容器的日志文件占用了大量磁盘空间 您可以在本教程的帮助下找到日志文件位置并清除它们 清除 docker 容器的日志文件时 不需要停止它
  • 如何使用 DNF 将 Fedora 25 升级到 Fedora 26

    软呢帽26Fedora 的最新版本发布于2017 年 7 月 11 日 Fedora 工作站用户可能需要升级工作站才能使用最新版本 本教程将帮助您将 Fedora 25 升级到 Fedora 26 工作站使用命令行实用程序 DNF 这是升级
  • 如何通过示例将 Nginx 配置为负载均衡器

    Nginx 是一种流行的开源 Web 服务器软件 也可以用作负载均衡器 负载平衡是一种在多个服务器之间分配传入流量的技术 以提高性能 提高可用性并避免任何单个服务器过载 在本文中 我们将通过示例讨论如何将 Nginx 配置为负载均衡器 要将