爱飞 发表于 2015-1-14 21:08:06

带来一篇nginx 限速

如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!nginx是个不错的web办事器,供给了全方位的限速功效,重要的功效模块是ngx_http_core_module、ngx_http_limit_conn_module和ngx_http_limit_req_module,第一个模块中有limit_rate功效(限网速带宽),后两个模块从字面上讲,功效分离是限制衔接(limitconnection)和限制要求(limitrequest),这几个模块默许都编译进了nginx焦点。


一切的限制都是针对IP的,是以对CC、DDOS有必定的进攻感化。


限带宽很轻易明确,直接上例子
location/mp3{limit_rate200k;}有一种方法可让限速加倍人道化,即传输必定流量后开端限速,


好比先全速传输1M,然后开端限速:
location/photo{limit_rate_after1m;limit_rate100k;}接上去讲限并发数和要求数。



为何有这两个模块呢?由于我们晓得,一个页面平日有多个子模块,比方5张图片,那末我们要求这个页面时提议了一个衔接,然则这一个衔接包括了5次图片要求,也就是说,一个衔接可以提议屡次要求。我们为了保持用户体验,是限制衔接数照样要求数,要依据现实须要停止选择。


1、限制衔接数
要限制衔接,必需先有一个容器对衔接停止计数,在http段参加以下代码:
limit_conn_zone$binary_remote_addrzone=addr:5m;如许就在内存中创立了一个5M巨细,名为addr的限速池(每一个衔接占用32或64字节,5m巨细可包容数以万计的衔接,平日是足够的,假如5M内存耗尽,将前往503)


接上去须要对server分歧的地位(location段)停止限速,好比限制每一个IP并发衔接数为2,则
limit_connaddr2;2、限制要求数

要限制要求数,也必需先创立一个限速池,在http段参加以下代码:
limit_req_zone$binary_remote_addrzone=one:5m;限速分为全局限速和部分限速,


关于全局限速,我们只须要在前面加上参数便可,好比每秒20个要求,rate=20r/s,即:
limit_req_zone$binary_remote_addrzone=perip:5mrate=20r/s;有时刻我们愿望在location段调剂一下链接,可以借助burst参数
limit_reqzone=oneburst=50;假如不愿望延时,还有nodelay参数
limit_reqzone=oneburst=50nodelay;以上是nginx的限速功效简介,欠妥的地方,迎接斧正。至于详细应用哪一种限速办法,必定要推敲,以避免损坏用户体验。




参考文章
http://wiki.nginx.org/HttpCoreModule#limit_rate
http://nginx.org/cn/docs/http/ngx_http_limit_req_module.html

http://nginx.org/cn/docs/http/ngx_http_limit_conn_module.html
http://wiki.nginx.org/HttpLimitConnModule
http://wiki.nginx.org/HttpLimitReqModule
http://tengine.taobao.org/nginx_docs/cn/docs/http/ngx_http_limit_conn_module.html#limit_zone
本文出自“Purple_Grape的博客”博客,请务必保存此出处http://purplegrape.blog.51cto.com/1330104/1228527


如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!

老尸 发表于 2015-1-25 09:06:25

要增加自己Linux的技能,只有通过实践来实现了。所以,赶快找一部计算机,赶快安装一个Linux发行版本,然后进入精彩的Linux世界,相信对于你自己的Linux能力必然大有斩获。

不帅 发表于 2015-2-2 21:48:00

这也正是有别的OS得以存在的原因,每个系统都有其自身的优点。?

若天明 发表于 2015-2-8 08:11:23

学习Linux应具备的。[书籍+网络资源]

飘灵儿 发表于 2015-2-25 08:21:44

选择一些适于初学者的Linux社区。

蒙在股里 发表于 2015-3-7 21:32:44

我感觉linux的学习,学习编程~!~!就去学习C语言编程!!

莫相离 发表于 2015-3-15 21:12:14

虽然大家都比较喜欢漂亮的mm,但是在学 linux 的过程中,还是要多和“男人”接触一下:P 遇到问题的时候,出来看说和上网查之外,就是要多用 linux 下的 man 命令找找帮助。

admin 发表于 2015-3-22 06:09:24

生成新的unispimsp.ksc。”另外得到回复后如果问题解决,向帮助过你的人发个说明,让他们知道问题是怎样解决的。
页: [1]
查看完整版本: 带来一篇nginx 限速