Nginx内存与磁盘资源的分配

摘要:
本文描述了Nginx静态web服务器配置中内存和磁盘资源的分配,即处理请求时内存和磁盘的分配。
本文介绍Nginx静态web服务器配置中的内存与磁盘资源的分配,即处理请求时,内存和磁盘资源的分配配置项。
1.HTTP包体保存在磁盘中
语法:client_body_in_file_only on|clean|off;
默认:client_body_in_file_only off;
配置块:server、http、location
当配置为off时,HTTP包体不会保存在磁盘中。非off时,用户请求中的HTTP包体将会保存在磁盘文件中(即使为0字节),当请求结束时,配置为on的话,该文件将会被保留。如果时clean的话,请求结束时,就会删除该文件。
2.HTTP包体尽量写入一个buffer中
语法:client_body_in_single_buffer on|off;
默认:client_body_in_single_buffer off;
配置块:http、server、location
用户请求的HTTP包体在client_body_buffer_size内存大小之内时,一概保存在buffer中。
3.存储HTTP头部buffer内存大小
语法:client_header_buffer_size size;
默认:client_header_buffer_size 1K;
配置块:http、server
正常情况下Nginx接收用户请求中HTTP header部分时分配的内存大小,当请求中的HTTP header部分超过这个大小的时候,large_client_header_buffers的配置将会生效。
4.存储超大HTTP头部内存大小
语法:large_client_header_buffers number size;
默认:large_client_header_buffers 48K;
配置块:http、server
该配置项定义了Nginx接收一个超大的HTTP头部请求个数与大小。如果HTTP请求行的大小超过上面单个buffer,将会返回414请求uri太大。请求中一般会有多个header,如果存在header大小超过单个buffer,将会返回400非法请求。同时请求行与请求头的总和不能超过buffer数*buffer大小。
5.存储HTTP包体内存大小
语法:client_body_buffer_size size;
默认:client_body_buffer_size 8K/16K;
配置块:http、server、location
该配置定义了Nginx接收HTTP包体的内存缓冲区大小。
6.HTTP包体临时存储路径
语法:client_body_temp_path dir-path[level1[level2[level3]]]
默认:client_body_temp_path client_body_temp;
配置块:http、server、location
该配置设置HTTP包体存储的临时目录。在接受HTTP包体时,如果包体大小大于存储HTTP包体内存大小,将会以一个递增整数命名保存在指定的历史路径下,会根据等级设置多层目录。
7.connection_pool_size
语法:connection_pool_size size;
默认:connection_pool_size 256;
配置块:http、server
Nginx会为每一个TCP连接分配一个内存池,该配置就是内存池的初始大小,用于减少内核对于小块内存的分配次数。配置太大会增加服务器内存消耗,太小会增加服务器内存分配次数。
8.请求内存池
语法:request_pool_size size;
默认:request_pool_size 4K;
配置块:http、server
前面一个是连接的初始内存池,这个是一个请求的初始内存池。TCP连接关闭会销毁掉连接内存池,请求结束会销毁请求内存池。

免责声明:文章转载自《Nginx内存与磁盘资源的分配》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【Oracle】利用level/Connect by 制作连续序列,并借此实现对缺失id的查找python+selenium2自动化---CheckBox和radiobutton定位下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Nginx简介及环境搭建

什么是Nginx? Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。本文主要简述Nginx的环境搭建步骤和注意事项,仅供学习分享使用,如有不足之处,还请指正。 Ng...

基于openresty的https配置实践

最近机器人项目的子项目,由于和BAT中的一家进行合作,人家要求用HTTPS连接,于是乎,我们要改造我们的nginx的配置,加添HTTPS的支持。 当然了,HTTPS需要的证书,必须是认证机构颁发的,这里的配置实践,也是从技术路线上的一次操作,证书是基于openssl生成的。没有谁颁发,自建得之! 不多说,开始实践!!!! 1. openssl的版本信息 [...

Nginx配置端口访问的网站

server { listen 80; #listen [::]:80 default_server ipv6only=on; server_name www.website.com; index index.html index.htm index.php admin.php;...

Nginx.conf配置文件参数说明与优化

参考连接:nginx 核心配置优化详解 先说下优化 1、nginx运行工作进程个数 worker_processes 1; Nginx进程,一般设置为和cpu核数一样(nginx启动后有多少个worker处理http请求)(worker_processes最多开启8个,8个以上性能提升不会再提升了,而且稳定性变得更低,所以8个进程够用了。) 2、nginx...

[tls][https][nginx] https的client session cache与session ticket机制分析

more title tls的客户端会话恢复与会话票证机制分析 golang fasthttp库关于会话恢复与会话票证的源码分析 前言 https握一次手是很艰辛的,计算量很大。所以如果连续两次短连接通信的话,完全可以 复用上一次的会话。这样可以压缩通信,节省计算。 TLS提供了两个机制来做这个事。分别是 session cache(会话缓存,会话恢复)...

docker 部署nginx、php-fpm

假设机器上已经安装好docker环境 一.运行nginx容器 1.查找Docker Hub 上的nginx 镜像 runoob@runoob:~/nginx$ docker search nginx NAME DESCRIPTION STARS...