Nginx企业级负载均衡:技术详解系列(18)—— 作为上传服务器

在这里插入图片描述

你好,我是赵兴晨,97年文科程序员。

在上一期的技术分享中,我们探讨了如何高效搭建Nginx下载服务器,并讨论了长连接优化策略。那么今天,咱们进一步了解Nginx的另一面——作为上传服务器的配置技巧。

作为上传服务器,Nginx配置指令解析

在构建高效的上传服务器时,Nginx提供了以下关键指令来控制上传数据:

1.client_max_body_size

设置允许客户端上传单个文件的最大值,默认为1MB。超过此限制,客户端会受到一个413错误。例如,若需支持更大文件上传,可设置为100MB:

client_max_body_size 100m;

2.client_body_buffer_size
定义接受每个客户端请求报文的body部分的缓冲区大小,默认为16kb。若超出此大小,数据将被暂存到磁盘上,由client_body_temp_path指令定义的位置:

client_body_buffer_size 1024k;

3.client_body_temp_path
指定存储客户端请求报文body部分的临时存储路径及子目录结构和数量。目录结构基于请求的hash值,采用从后往前截取1位、2位、2位16进制数字的方式命名:

client_body_temp_path /data/nginx/client_body_temp/ 1 2 2;

例如,文件 /data/nginx/html/pc/index.html的MD5值是95f6f65f498c74938064851b1bb96。对应的目录结构将是/data/nginx/client_body_temp/5/00/00。

错误处理示例:
当上传文件超过client_max_body_size设置的值时,Nginx会返回一个413错误。以下是错误日志的一个例子
10.0.0.93 - - [28/May/2024:00:09:00 +0800] “POST /wp-admin/async-upload.php HTTP/1.1” 413 578 “http://chensir.ink/wp-admin/post-new.php” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36 Edg/85.0.564.63” “-”

目录结构示例
上传文件后,Nginx会自动创建相应的目录结构,已存储超出缓冲区大小的请求body。以下是client_body_temp目录的一个示例:

/data/nginx/client_body_temp/
├── 5
│   ├── 00
│   └── 00
└── 6
    └── 00
        └── 00

OK,今天的分享就到这。希望能对你有些帮助和启发。如果你有任何疑问或想要进一步探讨的话题,随时在评论区留言或联系我。

感谢你的阅读,期待与你在下一篇文章中再次相遇。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Ollama 如何排除故障

Ollama 日志 Mac 有时,Ollama 可能无法如你所愿运行。解决问题的一个好方法是查看日志。在 Mac 上,你可以通过运行以下命令来查看日志: cat ~/.ollama/logs/server.logLinux 在使用 systemd 的 Linux 系统上,可以用这个命令查…

Elastic Security 在 AV-Comparatives 的恶意软件防护测试中表现出色

作者:Jamie Hynds, Tamarian Del Conte, Roxana Gheorghe 针对真实恶意软件提供 100% 防护,零误报 Elastic Security 在最近的 AV-Comparatives 恶意软件防护测试中取得了显著的成绩,防护率达到 100%,且对真实恶意软件样本无误报…

Proteus 安装报错There is a problem with this Windows lnstaller package

Proteus 安装常见问题 1.安装秘钥(许可证)的时候报错 报错信息如下所示: There is a problem with this Windows lnstaller package. A program required for this instalt to compiete coutd notbe run,contact your support personnet or packagevendor. 这个是…

通用代码生成器应用场景六,为完善的应用系统收集需求

通用代码生成器应用场景六,为完善的应用系统收集需求 使用急就章功能可以开发一个简单的应用先凑和着使用。此应用系统也可以成为完善的应用系统的原型和祖先。如果您新规划一个完善的应用系统,您可以先使用通用代码生成器生成一个临时使用的系统&#x…

【VAE-base】VAE最简单代码实现(纯全连接层实现变分自编码机)

VAE (Variational Autoencoder) 代码:https://github.com/AntixK/PyTorch-VAE/blob/master/models/vanilla_vae.py 论文:Auto-Encoding Variational Bayes 核心参考1 https://github.com/lyeoni/pytorch-mnist-VAE/blob/master/p…

IPD推行成功的核心要素(八)市场管理与产品规划保证做正确的事情

产品开发管理是“正确地执行项目”,而市场管理及产品规划关注“执行正确的项目”,可以说后者对产品的成功更为关键。要实现产品的持续成功,还得从源头的市场管理抓起。成功的产品开发,必须面向市场需求,由需求牵引创新…

FlyMcu串口下载STLINK Utility

FlyMcu是串口下载 STLINK Utility是STLINK下载 生成hex文件 打开hex文件,点击开始编程 在编程之前,需要配置BOOT引脚,让STM32执行BootLoader,否则点击开始编程,程序会一直卡住。第一步STM32板上有跳线帽&#xf…

SuperSocket 服务器与客户端双向通讯

1、使用AppSession 的Send方法就可以向连接到的客户端发送数据。服务器端代码如下。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;//引入命名空间 using SuperSocket.Common; using SuperSocket.So…

【机器学习】逻辑回归:原理、应用与实践

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 逻辑回归:原理、应用与实践引言1. 逻辑回归基础1.1 基本概念1.2 Sig…

leetCode-hot100-二分查找专题

二分查找 简介原理分析易错点分析例题33.搜索旋转排序数组34.在排序数组中查找元素的第一个和最后一个位置35.搜索插入位置240.搜索二维矩阵 Ⅱ 简介 二分查找,是指在有序(升序/降序)数组查找符合条件的元素,或者确定某个区间左右…

HTML静态网页成品作业(HTML+CSS)—— 香奈儿香水介绍网页(1个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有1个页面。 二、作品演示 三、代…

关于Acrel-2000E配电室综合监控系统的实际应用分析-安科瑞 蒋静

摘要:“三大工程”指的是保障性住房建设、“平急两用”公共基础设施建设、城中村改造,是我国在建设领域作出的重大决策部署,是根据房地产市场新形势推出的重要举措。其中城中村改造是解决群众急难愁盼问题的重大民生工程,该工程中配电房的建设…

新闻发稿:8个新闻媒体推广中最常见的错误-华媒舍

在数字时代,新闻媒体的推广手段已经越来越多样化。许多媒体在推广过程中常常会犯下一些常见错误。本文将会介绍八个新闻媒体在推广中最常见的错误,并希望能够帮助各位更好地规避这些问题。 1. 缺乏明确的目标受众 在进行推广前,新闻媒体需要…

华为OD机试 - 最大坐标值(Java 2024 D卷 100分)

华为OD机试 2024C卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷C卷)》。 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试…

将HTML页面中的table表格元素转换为矩形,计算出每个单元格的宽高以及左上角坐标点,输出为json数据

export function huoQuTableElement() {const tableData []; // 存储表格数据的数组let res [];// 获取到包含表格的foreignObject元素const foreignObject document.getElementById(mydctable);if (!foreignObject){return ;}// 获取到表格元素let oldTable foreignObject…

Orange AIpro开箱上手

0.介绍 首先感谢官方给到机会,有幸参加这次活动。 OrangePi AIpro(8T)采用昇腾AI技术路线,具体为4核64位处理器AI处理器,集成图形处理器,支持8TOPS AI算力,拥有8GB/16GB LPDDR4X,可以外接32GB/64GB/128GB/2…

从小众到主流:KOC如何凭借微影响力塑造品牌传播新格局

随着数字化的飞速发展,KOC作为社交媒体上的一股新兴力量,正以其微小的粉丝基数和高度互动性,引发一场微影响力革命。与传统的KOL不同,KOC通常拥有较小的粉丝基数,但却能够凭借高度互动性和真实的消费者体验&#xff0c…

编写一个问卷界面 并用JavaScript来验证表单内容

倘若文章和代码中有任何错误或疑惑&#xff0c;欢迎提出交流哦~ 简单的html和css初始化 今天使用JavaScript来实现对表单输入的验证&#xff0c; 首先写出html代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset&qu…

FY-SA-20237·8-WhyWeSpin

Translated from the Scientific American, July/August 2023 issue. Why We Spin (我们为什么旋转) Primates may play with reality by twirling around 翻译&#xff1a;灵长类动物有能力通过旋转或旋转运动来操纵或扭曲他们对现实的感知。 解释&#xff1a; “Primates”…

跟着大佬学RE(二)

[ACTF新生赛2020]easyre enc~}|{zyxwvutsrqponmlkjihgfedcba_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA?><;:9876543210/.-,*)(\0x27&%$# !" v4*F\"N,\"(I? v4list(map(ord,v4)) print(v4) #( v4[i] ! _data_start__[*((char *)v5 i) - 1] ) flaglist(ACTF…