nginx的限流配置过程-创新互联

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

创新互联专注于企业成都营销网站建设、网站重做改版、青冈网站定制设计、自适应品牌网站建设、H5高端网站建设商城网站开发、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为青冈等各大城市提供网站开发制作服务。

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的限流配置过程”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联-成都网站建设公司网站,小编将为大家输出更多高质量的实用文章!

分享标题:nginx的限流配置过程-创新互联
本文来源:https://www.cdcxhl.com/article6/dosdog.html

成都网站建设公司_创新互联,为您提供定制开发Google手机网站建设微信公众号关键词优化网站维护

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站建设网站维护公司