Nginx服务器防止被压力测试
2016-06-01 12:04
423 查看
最近经常用人帮忙做压力测试,用webbech或者ab等一些工具模拟并发压服务器,若服务器没有限制连接数或带宽,服务器很容易被压跨。
cat nginx.conf
…
http {
…
limit_conn_zone $binary_remote_addr zone=one:10m;
#如果在1.1.8之后版本还用语法:limit_zone name $variable size,会报警告nginx: [warn] the
“limit_zone” directive is deprecated, use the “limit_conn_zone”
directive
#这里,设置客户端的IP地址作为键。注意,这里使用的是$binary_remote_addr变量,而不是$remote_addr变
量。$remote_addr变量的长度为7字节到15字节不等,而存储状态在32位平台中占用32字节或64字节,在64位平台中占用64字节。
而$binary_remote_addr变量的长度是固定的4字节,存储状态在32位平台中占用32字节或64字节,在64位平台中占用64字节。一兆
字节的共享内存空间可以保存3.2万个32位的状态,1.6万个64位的状态。如果共享内存空间被耗尽,服务器将会对后续所有的请求返回 503
(Service Temporarily Unavailable) 错误。
server {
limit_conn one 10;
#指定一个会话最大的并发连接数(与之前的limit_conn_zone配合使用),可对单独目录做出限制,一个IP只能发起10个连接,多于10个,一律返回Services unavailable(503)状态,生产环境需考虑办公室或者局域网共享IP问题
limit_rate_after 1m;
#设置单连接限速条件(当下载文件字节数超过1MB后,limit_rate限速生效,限速100k)
limit_rate 100k;
#单连接限速
…
}
…
}
相关文章推荐
- CentOS yum配置LNMP服务器(Nginx+PHP+MySQL)
- Keepalived+nginx造成流量异常
- Nginx 配置 多个VSFTP的loadbalance
- Nginx的SSL配置优化
- 配置Nginx实现负载均衡
- 了解nginx及其安装
- Nginx之proxy_store模块
- Nginx配置文件详细说明
- 网易视频云:用Nginx搭建flv,mp4,hls流媒体服务器
- Nginx 负载均衡 后端 监控检测 nginx_upstream_check_module 模块的使用
- nginx配合keepalive的方案(双主)
- 多个应用系统,只有一个域名如何开发,nginx
- Apache与Nginx的优缺点比较
- nginx编译和调试
- CodeIgniter 的nginx配置示例
- nginx设置重写规则
- Nginx负载均衡实践之一:基本实现
- Nginx+Lua 推荐两个开源项目
- Install and test nginx on Ubuntu 14.04
- 记一次Nginx 400错误