限制并发连接数配置
1、limit_conn
说明:
- 用于限制客户端的
并发
连接数 - 默认编辑进nginx,可通过–without-http_limit_conn_module禁用
- 使用共享内存,对所有worker子进程生效
语法:limit_conn zone number``
- zone指定义的共享内存空间,如
zone=limit_addr:10m
其中的limit_addr
- number指并发连接数量
默认值:无
上下文:http段,server段,location段
示例:
limit_conn_zone $binary_remote_addr zone=limit_addr:10m;
server {
listen 8080;
server_name www.nginx_1.com;
charset utf-8;
location / {
root html/domain1;
index index.html index.htm;
limit_conn_status 503;
limit_conn_log_level warn;
limit_conn limit_addr 2;
limit_rate 50;
}
}
测试:在xshell中打开4个会话,并同时执行curl www.nginx_1.com:8080
,测试成功,结果如下所示,其中两个成功,两个返回503。
2、limit_conn_zone
说明:设置共享内存空间
语法:limit_conn_zone key zone = name:size
- key 是限速客户端的唯一标识,一般用 r e m o t e a d d r ( 占 用