Nginx限制IP并发数与下载速度的方法_nginx

在Nginx服务器上进行一些常规设置,来限制其并发数及会话空间等。

nginx限制ip并发数,也是说限制同一个ip同时连接服务器的数量

1,添加limit_zone

这个变量只能在http使用
 

代码示例:

复制代码 代码如下:

vi /usr/local/nginx/conf/nginx.conf
limit_zone one $remote_addr 10m;

2,添加limit_conn

这个变量可以在http, server, location使用
只限制一个站点,所以添加到server里面

复制代码 代码如下:

vi /usr/local/nginx/conf/vhost/303i.com.conf
limit_conn   one 10;

3,重启nginx
 

复制代码 代码如下:

service nginx restart

nginx 限速模块
参考:
关于limit_zone:http://wiki.nginx.org/NginxHttpLimitZoneModule
关于limit_rate和limit_conn:http://wiki.nginx.org/NginxHttpCoreModule

nginx可以通过HTTPLimitZoneModule和HTTPCoreModule两个组件来对目录进行限速。

复制代码 代码如下:

http {
  limit_zone   one  $binary_remote_addr  10m; 
  server {
    location /download/ {
      limit_conn   one  1;
      limit_rate 300k;
    }
  }
}

limit_zone,是针对每个IP定义一个存储session状态的容器。

这个示例中定义了一个10m的容器,按照32bytes/session,可以处理320000个session。

复制代码 代码如下:

limit_conn one 1;

限制每个IP只能发起一个并发连接。

复制代码 代码如下:

limit_rate 300k;

对每个连接限速300k。

注意,这里是对连接限速,而不是对IP限速。
如果一个IP允许两个并发连接,那么这个IP就是限速limit_rate×2。

时间: 2024-09-24 07:23:59

Nginx限制IP并发数与下载速度的方法_nginx的相关文章

APACHE中限制IP连接数与IP并发数和流量控制

  利用Limit模块限制IP连接数 系统版本:centos6.3 APACHE版本:apache2.42(编译安装) 1.配置Limit模块 #wget http://dominia.org/djao/limit/mod_limitipconn-0.24.tar.bz2 安装: #tar jxvf mod_limitipconn-0.24.tar.bz2 #cd mod_limitipconn-0.24 #vi Makefile 找到APXS这行,改成 APXS=/usr/local/apac

Nginx防止直接用IP访问Web服务器的设置方法_nginx

官方文档中提供的方法: If you do not want to process requests with undefined "Host" header lines, you may define a default server that just drops the requests: 复制代码 代码如下: server { listen 80 default_server; server_name _; return 444; } 说白了就是只要是访客用ip访问就直接重置4

详解Nginx与Apache共用80端口的配置方法_nginx

一个典型的 Nginx + Apache 应用方案可以是Nginx 占用 80 端口,过滤静态请求,然后动态请求即 Proxy 到 Apache 的 8080 端口.Proxy 反向代理的好处是访问的时候,始终就是 80 端口,来访者不会觉察到有任何的区别. 但有的应用确非常"聪明",识别到 Apache 所位于的端口是 8080 ,就会把相关的超链接都一并加上 :8080 的后续.这么就死定了,还能有正常访问麽?! 有个方法可以解决这事,就是把 apache 也运行在80端口上.同一

简介使用Nginx Plus的在线活动监控功能的方法_nginx

想了解你的 NGINX 服务器现在是什么情况? 是被 DoS 攻击, 还是网站出现一堆错误? NGINX Plus 现在推出一个时实活动监视接口,提供关键负载(key load )和性能监控. 通过简单的 RESTful JSON 接口,连接实时监控统计数据(stats to live dashboards) 和第三方监控工具,都变得轻轻松松. NGINX Plus 的 平衡负载状态时实监控 细节: 在线活动监控 – JSON feed 在NGINX Plus中启用该状态提示,只需简单地在服务器

Nginx HTTP:413 Request Entity Too Large解决方法_nginx

概述 今天遇到一个问题,在PHP程序中上传图片出现了以下错误:HTTP:413 Request Entity Too Large. 开发环境:CentOS + Nginx + PHP + MySql 解决方案 解决此问题,根据上传数据文件的大小,需要调节PHP和Nginx相关的参数配置. 配置PHP PHP默认上传文件大小限制为2M,如果超出2M你需要修改PHP配置文件php.ini里面的参数. 复制代码 代码如下: post_max_size = 8M (表单提交的最大限制,此项不是限制上传单

对Nginx支持SSL的性能进行优化的方法_nginx

这篇文章是讲web服务器方面的性能调整. 不包括数据库性能的调整.初始化服务器 这个web服务器运行在一个EC2 t1.micro 环境.我选择 Nginx + PHP5-FPM 来运行php页面,出于安全考虑我使用SSL.测试性能 我使用Blitz.io来进行压力和性能测试. 下面的是我压力测试的命令. 功能是在60秒内逐渐增加用户. 在整个过程中,Blitz.io 每秒创建一个请求并增加4个用户(rise/run = 260/60). 复制代码 代码如下: -p 1-250:60 https

为Nginx自定义404,502错误页面的方法_nginx

首先打开nginx.conf文件,在fastcgi_temp_file_write_size 128k; 下面添加 fastcgi_intercept_errors on;注意,包括;号 然后在需要定义的站点的里面添加 error_page 404 = /404.htm;例如: 复制代码 代码如下: server { listen 80; server_name www.deepvps.com; index index.html index.htm index.php; error_page 4

在Nginx服务器中配置mod_proxy反向代理的方法_nginx

反向代理做法可以为网站安全做更高一步,像一些银行肯定是使用了反代理就是你进入代理服务器也得不到任何数据,下面我来介绍nginx用mod_proxy实现反向代理配置方法. 由于项目需要实现一个域名代理的功能 比如: 复制代码 代码如下: a.com/a.html=>b.com/b.html 也就是用a.com代理了所用b.com网站的请求,经过朋友介绍用apache的反向代理可以实现其目的,哥们试了一下,果然很爽.配置起来也超级的方便. (注意下面只介绍反向代理,正向代理等我用到了再介绍嘿嘿) 1

nginx中文件下载指定保存文件名的配置方法_nginx

一般在我们上传完资源文件之后,为了避免文件名冲突,会将文件名改成毫无意义的一段字符.这个字符,可能是MD5产生的,或者是其他方式产生的字符串.这时候,下载的时候,默认保存的文件名会是这段毫无意义的文件名(图1). 其实,nginx是支持下载时重命名的,让文件名更加友好. nginx也很容易配置:只要加入以下几行即可: 复制代码 代码如下: location ~* .*\.(doc|txt|jar|zip|apk)(\?.*)?$ {         if ($request_uri ~* ^.*