nginx 配置里upstream的作用是什么
off999 2025-09-29 09:48 34 浏览 0 评论
在 Nginx 配置中,upstream 块的作用是定义一组后端服务器(上游服务器),用于实现负载均衡和反向代理。通过 upstream,Nginx 可以将客户端请求分发到多个后端服务器,提高应用的可用性、性能和容错能力。
核心作用
1.负载均衡
将客户端请求均匀分配到多个后端服务器,避免单点压力过大。例如:
nginx
upstream backend_servers {
server 192.168.1.100:8080;
server 192.168.1.101:8080;
}
Nginx 会根据负载均衡算法(如轮询、IP 哈希、权重等)选择一个后端服务器处理请求。
2.反向代理
upstream 通常与 proxy_pass 指令配合使用,将请求转发到后端服务器:
nginx
server {
listen 80;
location / {
proxy_pass http://backend_servers; # 转发到 upstream 定义的服务器组
}
}
3.健康检查
Nginx 会自动检测后端服务器的健康状态,当某个服务器不可用时,自动将其从负载均衡池中移除。例如:
nginx
upstream backend_servers {
server 192.168.1.100:8080 max_fails=3 fail_timeout=30s;
server 192.168.1.101:8080 max_fails=3 fail_timeout=30s;
}- max_fails:允许的最大失败次数(默认 1 次)。
- fail_timeout:失败后暂停的时间(默认 10 秒)。
负载均衡算法
upstream 支持多种负载均衡算法,通过 ip_hash、least_conn 等指令指定:
nginx
upstream backend_servers {
ip_hash; # 基于客户端IP的哈希算法,确保同一客户端始终访问同一服务器
server 192.168.1.100:8080;
server 192.168.1.101:8080;
}
常用算法:
- 轮询(默认):按顺序轮流分发请求。
- weight:加权轮询,根据服务器性能分配权重。
- ip_hash:基于客户端 IP 哈希,保证会话一致性。
- least_conn:转发给当前连接数最少的服务器。
应用场景
- 高可用架构:通过多台服务器冗余部署,避免单点故障。
- 水平扩展:增加服务器数量提升整体处理能力。
- 动静分离:静态资源由 Nginx 直接处理,动态请求转发给后端应用服务器。
示例配置
nginx
# 定义上游服务器组
upstream app_servers {
server app1.example.com weight=5; # 权重为5
server app2.example.com; # 默认权重为1
server app3.example.com backup; # 备份服务器,仅当其他服务器全部不可用时才会启用
}
# 反向代理配置
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://app_servers;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
相关推荐
- win7双系统怎么切换(双系统win7切换win10)
-
要切换到其他操作系统,必须使用另一个启动设备或安装系统。以下是一些步骤:1.获取安装媒体(光盘或USB驱动器),包含您要安装的操作系统。2.在Windows7上打开电脑,将安装媒体插入计算机。3...
- project2010激活码(project2010永久激活码)
-
首先我们在网上下载project2010,因为project2010是付费使用的,所以我们可以先使用试用版,试用版期限是30天。首先我们来创建一个项目,然后使用project2010来进行管理。我们可...
- 迈克菲无法卸载(迈克菲无法卸载怎么解决)
-
一,找到迈克菲的图标二,右键,点击更改设置——实时扫描三,点击关闭,即可。1,控制面板中-管理工具-服务-停止MCAFEEFRAMEWORKMANAGER服务2,开始中—运行—输入cmd—输入“C...
- 爱普生打印机驱动(爱普生打印机驱动怎么安装)
-
1.首先进入爱普生网站。找到驱动以及手册证书下载2.选择打印机的类型,勾选正确的打印机型号。3.根据自己的电脑操作系统选择对应的软件版本点击下载。4.下载了LQ-630KII的驱动,双击运行。5.运行...
- windows7显示不是正版怎么办
-
不必担心,是不是正版影响并不大,不会影响你正常使用电脑,无非就是心里对于正版和盗版的道德观念会有点小执念罢了,但这些都不影响系统的正常使用。如果你非要安装正版,可以去买个正版光盘,安装系统后输入正版激...
- vivo手机锁屏密码忘了怎么办
-
如下:1输入密码在vivo的锁屏页面,连续输入五次错误密码,弹出新页面。2/4选择忘记密码在新的页面中,找到页面中的忘记密码这个选项,点击它。3/4进行身份验证切换到身份验证的页面后,回答两个问题,再...
-
- 微软官网免费下载win7吗(微软官网免费下载win10是真的吗)
-
最简单的方法就是,下载完镜像文件后,直接把镜像文件解压,解压到非C盘,然后在解压文件里面找到setup.exe,点击运行即可。安装系统完成后,在C盘找到一个Windows.old(好几个GB,是旧系统打包在这里,垃圾文件了)删除即可。扩展资...
-
2025-12-17 00:51 off999
- windows7的密钥在哪里(windows7密钥在哪里可以找到)
-
查看Windows7的密钥,你可以按照以下步骤进行操作:在键盘上按下Win+R组合键,打开运行窗口。在运行窗口中输入"regedit",然后点击确定,打开注册表编辑器。在注册表编...
- 360极速浏览器打不开网页(360极速浏览器经常打不开未响应)
-
先打开任务管理器结束360浏览器的所有进程(如果有).再尝试点击启动.如果还不行,重启电脑再试,如果还不行,执行杀毒检测和磁盘扫描,并卸载重装浏览器.强制360浏览器以极速模式打开页面方法如下:1、...
- win7系统图标(win7系统图标网络开关灰色)
-
1/6首先点击桌面右下角Windows,再点击【控制面板】2/6来到控制面板页面,我们再点击【个性化】3/6来到个性化页面,我们再点击左侧【更改桌面图标】4/6弹出桌面图标设置对话框,我们根据实际需要...
- 系统的超级宗门等级(系统的超级宗门人物介绍)
-
《一念永恒》中宗门等级划分分为:顶级宗门、一流宗门、二流宗门、三流宗门和小宗门。顶级宗门位于武道源头,是无数武极强者梦寐以求的存在。一流宗门规模庞大,经济实力雄厚,拥有大量高手强者,地位颇为显赫。二流...
- 为啥系统重装后有两个系统(为啥系统重装后有两个系统 原来的系统还在)
-
电脑重装系统后有两个系统,需要重新安装,并且再安装系统时需要把原来的系统所在盘即C盘进行格式化,否则安装完成就还是两个系统,非常占系统内存。1、可能在安装时删除了原来的引导分区。2、可能安装时直接安装...
- win10win7双系统引导设置(win10 win7双系统引导)
-
步骤如下: 1、首先我是开机时按F8,进入安全模式界面。但是进去的时候等待了几分钟都无反应,上面一直显示请稍等。 2、没办法只有按下复位键重启电脑,因电脑之前装有一键GHOST备份,于是果断还原...
- ie缓存清理在哪里(ie缓存如何清除)
-
? 1、首先打开IE浏览器,选择IE浏览器的工具这一选项; 2、下一步选择工具中的Internet的选项; 3、下一步就是在Internet选项中的常规的选项中; 4、选择常规--浏览历史记录...
- 华为正版鸿蒙40电脑操作系统下载中文版
-
安装华为鸿蒙40系统正式版需要先下载官方固件包,然后将固件包放到手机内部存储或外部存储卡中。打开手机设置,选择系统更新,点击“手动更新”,选择已下载的固件包进行安装。安装前请备份重要数据并确保手机电量...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
使用 python-fire 快速构建 CLI_如何搭建python项目架构
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
