2019-05-13 nginx限制最大并发连接数和请求数
2019-05-13 本文已影响0人
张大志的博客
limit_conn_zone $binary_remote_addr zone=addr:20m; #在http语句块定义一个共享内存
server {
listen 80 ;
server_name www.abc.com;
root /usr/share/nginx/html;
error_log /var/log/nginx/error.log info;
location / {
limit_conn_status 500; #定义当并发连接达到上限时返回的状态码
limit_conn_log_level warn; #定义发生并发连接时的日志级别,此时在错误日志中会出现2019/05/13 14:30:16 [warn] 9896#0: *2825 limiting connections by zone "addr"
limit_rate 50; #定义一次返回客户端的字节数,这样比较容易出现并发连接的情况
limit_conn addr 1; #设置并发连接数为1
}
limit_req_zone $binary_remote_addr zone=one:10m rate=2r/m; #在http语句块定义一个共享内存,并设定每分钟的请求数为2次,2r/s为每秒钟的请求数
location / {
# limit_conn_status 500;
# limit_conn_log_level warn;
# limit_rate 50;
# limit_conn addr 2;
limit_req_log_level warn;
limit_req_status 503;
limit_req zone=one burst=3 nodelay; #burst用于定义超过请求数后还能请求几次,默认是0次。
# limit_req zone=one;
}