1. 编辑nginx的配置文件
vi /etc/nginx/nginx.conf
在http段内添加
http{
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_conn_zone $server_name zone=perserver:10m;
···
···
···
}
2. 编辑网站的nginx配置文件
vi /etc/nginx/conf.d/123.com.conf
在对应的location下添加
location / {
limit_conn perserver 50; # 限制当前站点最大并发数 50
limit_conn addr 10; # 限制单个IP访问最大并发数
# limit_rate_after 1M; # 1M以后开始限速
limit_rate 64k; # 限制每个请求的流量上限(单位是:bytes per second)
}
计算:
- 每个IP最多10个线程
- 每个线程最高下载速度64kb/s
- 站点最多支持50并发
如果以当前配置满负荷下载,则服务器带宽 = 10 * 64 * 50 / 1024= 31.25MB/s。
如果计算错误请留言指正。
参考:
https://blog.imgchr.com/archives/20/
http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html
https://www.oreilly.com/library/view/nginx-http-server/9781788623551/e7253564-8116-482c-a36e-3a282f490ba5.xhtml