【教程】linux如何在LNMP环境下Nginx带宽限制

一般来说很多时候我们不需要用到带宽限制,这样做纯属纯无聊,做站的,想的就是要快,但有些人就喜欢折腾一番,有种“不到黄河心不死”的心情。此文章纯属觉得好玩就转载过来分享一下,小7觉得多学一些毕竟是好事,等你等到需要用的时候,才感慨到时我为什么不多学点啊,这句话相比以前你们的老师经常这样罗哩罗嗦的吧,废话不多说,方法如下:
本文以军哥LNMP一键包环境下测试的,主要修改有两处。

修改nginx默认配置文件,利用nginx的标准模块ngx_http_limit_zone_module,进行会话的并发连接数控制。

[task]View Code PHP

    #cd /usr/local/nginx/conf
    #vi nginx.conf

[/task]
在http{}添加如下:

?View Code PHP
limit_zone one $binary_remote_addr 10m;
[task]【说明】我们在nginx.conf中可以看到一行如下:

#limit_zone crawler $binary_remote_addr 10m;

开始,我只是去除了这行前面的#,解除注解,不过报错,crawler必须替换成one。关于上面这行添加的内容,他主要是定义一个叫“one”的记录区,总容量为 10M,以变量 $binary_remote_addr 作为会话的判断基准。

为了测试,我解析了一个域名,并在VPS中添加了这个域名主机。接下来,我们需要修改第二次,就是这个域名配置文件。
[/task]
#cd /usr/local/nginx/conf/vhost
#vi 域名.conf

添加一段:

?View Code PHP
location / {
limit_conn one 1;
limit_rate 500k;
}

这段表示每个客户端仅允许一个连接,限速为500KB/s。

全部修改之后,检查下配置文件和重载下nginx。

?View Code PHP
#/usr/local/nginx/sbin/nginx –t
#service nginx reload

大致上就是这样的,希望对需要的有一定的启发与帮助。

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注