千家信息网

nginx的限流配置过程

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本篇内容介绍了"nginx的限流配置过程"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!limit_r
千家信息网最后更新 2026年10月31日nginx的限流配置过程

本篇内容介绍了"nginx的限流配置过程"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

limit_req zone=req_zone;

严格依照在limti_req_zone中配置的rate来处理请求

超过rate处理能力范围的,直接drop

表现为对收到的请求无延时

limit_req zone=req_zone burst=5;

依照在limti_req_zone中配置的rate来处理请求

同时设置了一个大小为5的缓冲队列,在缓冲队列中的请求会等待慢慢处理

超过了burst缓冲队列长度和rate处理能力的请求被直接丢弃

表现为对收到的请求有延时

limit_req zone=req_zone burst=5 nodelay;

依照在limti_req_zone中配置的rate来处理请求

同时设置了一个大小为5的缓冲队列,当请求到来时,会爆发出一个峰值处理能力,对于峰值处理数量之外的请求,直接丢弃

在完成峰值请求之后,缓冲队列不能再放入请求。如果rate=10r/s,且这段时间内没有请求再到来,则每6 s 缓冲队列就能回复一个缓冲请求的能力,直到回复到能缓冲5个请求位置。

load_module modules/ngx_stream_module.so; #动态加载模块,必须写道开头

user nginx; #使用useradd nginx 添加一个nginx用户

worker_processes 4; #cpu核心数 * 2

worker_rlimit_nofile 102400; #配置nginx打开最大文件数 (每个工作进程绑定一个cpu,worker_cpu_affinity配置)

worker_cpu_affinity 0001 0010 0100 1000; #工作进程使用哪个cpu的核心 (以四核为例) 0001是4核的第一个核心 0010是4核的第二个核心

#error_log logs/error.log;

#error_log logs/error.log notice;

error_log logs/error.log info;

pid logs/nginx.pid;

events {

use epoll;

worker_connections 10240;

}

http {

include mime.types;

default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main; #在server虚拟目录里面配置日志,这里是全局日志

sendfile on;

#tcp_nopush on;

server_tokens off; #错误的时候关闭输出版本号

#keepalive_timeout 0;

keepalive_timeout 30;

gzip on; #压缩会占用cpu

gzip_buffers 4 16k;

gzip_comp_level 3; #压缩等级

gzip_disable "MSIE[1-6]"; #ie浏览器1-6禁用gzip

gzip_min_length 1k;

gzip_http_version 1.0;

gzip_types text/plaion application/html application/css application/js; #可以压缩的文件类型

gzip_vary on; #根据http头判断是否支持压缩

client_max_body_size 8m; #默认允许客户端最大上传文件大小

#限流

#limit_conn_zone $binary_remote_addr zone=addr:10m; #并发限制(同时启用一个)

limit_req_zone $binary_remote_addr zone=qps:10m rate=1r/s; #请求限制 每秒钟处理一个请求

limit_conn_log_level error;

limit_conn_status 503; #超出限制时,返回状态码

server{

#limit_conn addr 1; #并发限制设置为1,是为了测试 addr是zone空间在53行(同时启用一个)

#limit_req zone=qps; #请求限制

limit_req zone=qps burset=1 nodelay; #请求限制()

}

#限流end

}

"nginx的限流配置过程"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

处理 配置 缓冲 队列 限制 同时 核心 能力 过程 大小 峰值 最大 内容 同时设 文件 日志 更多 知识 进程 工作 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 苏州找大状互联网科技有限公司 金融科技还是互联网 金诺互联网科技 互联网 卓越科技 百单互联网科技有限公司 上海致骋互联网科技 互联网科技大会 科技互联网创业计划书 互联网科技类展会 互联网教育科技公司vipkid 阿里互联网科技公司 湖南一路畅行互联网科技 新兴科技互联网创新大赛颁奖典礼 米聚互联网科技南京有限公司排面 乌苏新华互联网科技做什么的 科技赋能视角下互联网保险发展 保险科技服务互联网营销体系 烟台灵鸽互联网科技有限公司 山东子淼互联网科技有限公司 山东蛋芒互联网科技有限公司 中智农互联网科技 云之行互联网科技 北京禾田雨橡互联网科技 火传媒上海互联网科技 玖二柒互联网科技公司待遇 成都互联网科技公司100强 顶级互联网科技成果有哪些 民营互联网公司国防科技 35岁以上互联网科技行业 易企秀互联网科技是做什么的
0