Nginx负载均衡实战

news2025/1/24 1:00:07

🎵负载均衡组件

ngx_http_upstream_module
https://nginx.org/en/docs/http/ngx_http_upstream_module.html
upstream模块允许Nginx定义一组或多组节点服务器组,使用时可以通过多种方式去定义服务器组
样例:

upstream backend {
    server backend1.example.com       weight=5;
    server backend2.example.com:8080;
    server unix:/tmp/backend3;

    server backup1.example.com:8080   backup;
    server backup2.example.com:8080   backup;
}

server {
    location / {
        proxy_pass http://backend;
    }
}

ngx_http_proxy_module
https://nginx.org/en/docs/http/ngx_http_proxy_module.html

样例:
该ngx_http_proxy_module模块允许将请求传递到另一台服务器。

location / {
    proxy_pass       http://localhost:8000;
    proxy_set_header Host      $host;
    proxy_set_header X-Real-IP $remote_addr;
}

🎶Nginx负载均衡配置实例

主机名IP角色
NGINX-154.169.87.5NGINX服务器
NGINX-218.143.107.110NGINX服务器
NGINX-3122.51.114.14NGINX负载均衡服务器

  • 在两台NGINX服务器上操作,创建测试文件数据
echo "`hostname -I` " > /usr/share/nginx/html/index.html
  • 配置NGINX负载均衡服务器,定义Web服务器池
upstream backend {

server 18.143.107.110:80 weight=1;

server 54.169.87.5:80 weight=1;

}
location / {
    proxy_pass       http://backend;
}

完整配置 nginx.conf


worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    upstream backend {         #这里定义Web服务器池

	server 18.143.107.110:80 weight=1;  

	server  54.169.87.5:80 weight=1;

	}
    server {            #这里定义代理的负载均衡域名虚拟主机
        listen       80;
        server_name  www.nginxtestlb.com;
        location / {
		proxy_pass http://backend;     #访问www.nginxtestlb.com,请求发送给backend里面的节点
        }
    }
}

本地主机配置域名解析
C:\Windows\System32\drivers\etc\hosts

122.51.114.14  www.nginxtestlb.com
  • 浏览器访问

image.png
image.png
两次访问得出的信息不同,说明访问的Nginx服务器已经实现负载均衡和反向代理

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

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

相关文章

C. Polycarp Recovers the Permutation

没啥思路,看到题解,先处理最大值,发现非常的nice // Problem: C. Polycarp Recovers the Permutation // Contest: Codeforces - Codeforces Round 756 (Div. 3) // URL: https://codeforces.com/problemset/problem/1611/C // Memory Limit:…

HXDSP2441-Demo板

板卡图示 下图为HXDSP2441DEMO板,HXDSP2441DEMO板是围绕HXDSP2441构建的芯片演示验证平台。 板卡简介 除了为HXDSP2441芯片提供供电、时钟、储存、网络及调试电路,来实现芯片最基本的功能,也添加了相关模块以搭建HXDSP2441的典型应用场景…

深入理解JavaScript的箭头函数

深入理解JavaScript的箭头函数 在ES6中,JavaScript引入了箭头函数的概念,它提供了一种更简洁的语法来定义匿名函数。虽然箭头函数看起来很简单,但它们在实际应用中有一些独特的特性和行为。让我们深入理解箭头函数并学习如何正确地使用它们。…

【STM32】TIM定时器基本定时功能

第一部分:定时器基本定时的功能; 第二部分:定时器的输出比较功能; 第三部分:定时器输入捕获的功能; 第四部分:定时器的编码接口。 1 TIM简介 TIM(Timer)定时器&#…

常见统计学习方法特点总结

1. 概述 方法适用问题模型特点模型类型学习策略损失函数学习算法1感知机二分类分离超平面判别模型极小化误分点到超平面距离误分点到超平面距离SGD2KNN多分类,回归特征空间,样本点判别模型---3朴素贝叶斯多分类特征与类别的联合概率分布,条件…

如何实现高效的Web自动化测试?

随着互联网的快速发展,Web应用程序的重要性也日益凸显。为了保证Web应用程序的质量和稳定性,Web自动化测试成为必不可少的一环。然而,如何实现高效的Web自动化测试却是一个值得探讨的课题。 首先,选择合适的测试工具是关键。市面…

算法Day22 星南二楼(最长升序子序列)

星南二楼(最长升序子序列) Description Input Output Sample 代码 import java.util.*;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int[] grid new int[n];for(int j0;j&l…

VIM光标移动和翻页快捷键-包含vim帮助文档截图

光标移动到行首(行首没有空格): ^ 光标移动到行首(行首有空格): 数字0 光标移动到行尾: $ 移动到指定行:7G(数字加一个大G) 光标移动到文件开始:gg(两个小g) 光标移动到文件末尾:G(一个大G&…

[Linux] 基于LAMP架构安装论坛

一、安装Discuz论坛 1.1 创建数据库,并进行授权 mysql -u root -p123CREATE DATABASE bbs; #创建一个数据库GRANT all ON bbs.* TO bbsuser% IDENTIFIED BY admin123; #把bbs数据库里面所有表的权限授予给bbsuser,并设置密码admin123flush privileges; #刷新数据库…

Vue学习计划-Vue2--VueCLi(二)vuecli脚手架创建的项目内部主要文件分析

1. 文件分析 1. 补充: 什么叫单文件组件? 一个文件中只有一个组件 vue-cli创建的项目中,.vue的文件都是单文件组件,例如App.vue 2. 进入分析 1. package.json: 项目依赖配置文件: 如图,我们说主要的属性…

LeetCode题:11. 盛最多水的容器

目录 一、题目要求 二、解题思路 三、代码 一、题目要求 11. 盛最多水的容器 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多…

【学习通】电脑如何下载老师分享的学习通文件

问题:老师在微信分享学习通文件 直接打开点击下载不了 问题如图 解决方案 点击保存云盘,保存到自己的学习通 在个人空间中的云盘下载就不会出现问题了

JavaEE07 定时器的使用和模拟实现

前言 前面我们聊了很多关于阻塞队列,单例模式等的应用,今天我们就来聊聊定时器的功能和模拟实现,其实定时器的实现在我们的日常生活中也很常见,比如说平常创建一些定时任务,定时开关机,定时去发表一篇qq空间等等,今天我们就来简单实现一个定时器. 1.JVM提供的定时器的使用 在自…

Java LeetCode篇-深入了解二叉树的经典解法(多种方式实现:构造二叉树)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 从前序与中序遍历序列来构造二叉树 1.1 实现从前序与中序遍历序列来构造二叉树思路 1.2 代码实现从前序与中序遍历序列来构造二叉树 2.0 从中序与后序遍历序…

Unicode编码解码

一、Unicode概述 Unicode是一种字符编码标准,旨在解决不同字符集之间的兼容性问题。它为全球所有语言提供了一种统一的编码方式,使得各种字符能够在计算机系统中正确显示和处理。Unicode字符集包含了世界上几乎所有的字符,包括中文字符、英文…

Java第十二章(合集类)

概述 集合可以看作一个容器;集合中的每个对象,可以很容易取出存放,还可以按照一定的顺序摆放 提到容器,不难想到数组,集合类和数组的不同之处是,数组的长度是固定的,集合的长度是可变 的&…

操作系统考研考点补充(王道408)

文章目录 前言计算机系统概述OS的基本概念OS的发展历程OS的运行机制OS体系结构OS引导虚拟机 前言 学校OS课程的知识和408有一定的重叠,但是还不太够,因此我又一次打开了王道的OS课程。 这个笔记同理,只记最关键的内容和思考,直接…

LeetCode Hot100 78.子集

题目: 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 方法:灵神 选 or 不选 class Solution {private final List&…