nginx限速方法以及报错处理
2015-07-28 10:19
609 查看
本文出自 “技术成就梦想” 博客,转载请与作者联系!
注意:nginx 1.1.8 之后的版本的语法改为limit_conn_zone $binary_remote_addr zone=NAME:10m;NAME 就是 zone 的名字详情请看这里 http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html 限制连接数:要限制连接,必须先有一个容器对连接进行计数,在http段加入如下代码:"zone=" 给它一个名字,可以随便叫,这个名字要跟下面的 limit_conn 一致$binary_remote_addr = 用二进制来储存客户端的地址,1m 可以储存 32000 个并发会话
... 省掉 N 字http{limit_conn_zone $binary_remote_addr zone=addr:10m;
接下来需要对server不同的位置(location段)进行限速,比如限制每个IP并发连接数为1,则server{listen 80;server_name 192.168.11.128;index index.html index.htm index.php;limit_conn addr 1; #是限制每个IP只能发起1个连接 (addr 要跟 limit_conn_zone 的变量对应)limit_rate 100k; #限速为 100KB/秒root html;
注意事项:limit_rate 100k; //是对每个连接限速100k。这里是对连接限速,而不是对IP限速!如果一个IP允许两个并发连接,那么这个IP就是限速limit_rate * 2也可参考好文:http://www.y7lai.com/105.html注意默认限速大小单位B与家用带宽相差8倍~~~~~~~报错~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~・
nginx: [emerg] zero size shared memory zone "perip"
检查主配置文件:“limit_conn perip 1;”,但是http段落没有“limit_conn_zone $binary_remote_addr zone=addr:10m;”添加此内容。指定的参数跟后面限速参数要一致导致,perip
修改为addr。
针对目录限速示例:
http {
limit_conn_zone $binary_remote_addr zone=addr:5m;
server {
listen 80;
server_name 172.21.9.2;
charset utf-8;
index index.html;
location ~* /client/download/ {
limit_conn addr 1;
limit_rate 100k;
}
}
}
注意:nginx 1.1.8 之后的版本的语法改为limit_conn_zone $binary_remote_addr zone=NAME:10m;NAME 就是 zone 的名字详情请看这里 http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html 限制连接数:要限制连接,必须先有一个容器对连接进行计数,在http段加入如下代码:"zone=" 给它一个名字,可以随便叫,这个名字要跟下面的 limit_conn 一致$binary_remote_addr = 用二进制来储存客户端的地址,1m 可以储存 32000 个并发会话
... 省掉 N 字http{limit_conn_zone $binary_remote_addr zone=addr:10m;
接下来需要对server不同的位置(location段)进行限速,比如限制每个IP并发连接数为1,则server{listen 80;server_name 192.168.11.128;index index.html index.htm index.php;limit_conn addr 1; #是限制每个IP只能发起1个连接 (addr 要跟 limit_conn_zone 的变量对应)limit_rate 100k; #限速为 100KB/秒root html;
注意事项:limit_rate 100k; //是对每个连接限速100k。这里是对连接限速,而不是对IP限速!如果一个IP允许两个并发连接,那么这个IP就是限速limit_rate * 2也可参考好文:http://www.y7lai.com/105.html注意默认限速大小单位B与家用带宽相差8倍~~~~~~~报错~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~・
nginx: [emerg] zero size shared memory zone "perip"
检查主配置文件:“limit_conn perip 1;”,但是http段落没有“limit_conn_zone $binary_remote_addr zone=addr:10m;”添加此内容。指定的参数跟后面限速参数要一致导致,perip
修改为addr。
针对目录限速示例:
http {
limit_conn_zone $binary_remote_addr zone=addr:5m;
server {
listen 80;
server_name 172.21.9.2;
charset utf-8;
index index.html;
location ~* /client/download/ {
limit_conn addr 1;
limit_rate 100k;
}
}
}
相关文章推荐
- nginx重启找不到pid
- Nginx 配置文件详解
- nginx proxy-pass简单的应用
- 基于Debian系统配置Nginx环境的Node.js应用教程
- Linux Nginx 安装配置
- Nginx
- Nginx master工作流程
- Nginx配置
- Python应用 ---- Mac环境下Flask+Nginx+FastCGI实现Python应用部署
- nginx源码分析1———进程间的通信机制三(mmap)
- Nginx worker工作流程
- nginx的fastcgi配置
- tornado + nginx + supervisord 环境部署
- centOS下的nginx1.8.0多站点配置(同一IP,不同端口)
- Nginx配置文件说明
- 让 Vim 支持 nginx 语法(syntax) 格式化配置文件
- thinkphp nginx 上配置 并解决get获取到数据现象
- Nginx/LVS/HAProxy负载均衡软件的优缺点详解
- nginx第一章--执行main函数前的描述
- nginx 域名(虚拟)部署nodejs项目