Nginx 之Tengine limit_req模块模块测试

  最近有机会接触Tengine,官方文档连接:http://tengine.taobao.org/index_cn.html。

  关于Tengine的简介如下:

  Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。

  从2011年12月开始,Tengine成为一个开源项目,Tengine团队在积极地开发和维护着它。Tengine团队的核心成员来自于淘宝搜狗等互联网企业。Tengine是社区合作的成果,我们欢迎大家参与其中,贡献自己的力量。

  而关于Tengine limit_req的模块文档链接:http://tengine.taobao.org/document_cn/http_limit_req_cn.html。

  一下步骤为本人自己测试实验,简介如下:

  

  1. 下载Tengine
  2. http://tengine.taobao.org/
  3. Nginx编译选项

  ./nginx -V

  nginx version: nginx/1.4.4

  built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)

  configure arguments: --prefix=/usr/local/nginx --with-http_gzip_static_module --with-http_stub_status_module --with-pcre=/root/install/pcre-8.32/ --with-    zlib=/root/install/zlib-1.2.8

   3.  安装lib包

yum install -y pcre-devel

  yum install -y openssl-devel

4.  备份nginx

5.  编译Tengine

  ./configure --prefix=/usr/local/nginx --with-http_gzip_static_module --with-http_stub_status_module

  make

   make install

安装完后在nginx.conf文件中做出相应配置改动,重点如下:

  

events {
use epoll;
worker_connections 51200;
}

http {
include mime.types;
default_type application/octet-stream;

log_format main ‘$remote_addr - $remote_user [$time_local] "$request" ‘
‘$status $body_bytes_sent "$http_referer" ‘
‘"$http_user_agent" "$http_x_forwarded_for"‘;

access_log logs/access.log main;

sendfile on;
tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

gzip on;
#limit_req_zone $binary_remote_addr zone=lrz_ip:3m rate=2r/s;
#limit_req_zone $binary_remote_addr zone=lrz_url:10m rate=1r/s;

server {
listen 80;
server_name 127.0.0.1;

charset utf-8;

access_log logs/host.access.log main;

location / {
root html;
index index.html index.htm ;
#limit_req zone=lrz_ip burst=5;
#limit_req zone=lrz_url burst=1 nodelay;
}

  红色字体为对Tengine limit_req的模块设置相应规则,文档都有说明的,还是比较简单的。(注意:配置文件更改后要重启nginx服务)

  在此测试过程中使用Apache的ab压力测试工作模拟访问请求(简单测试可以将对应参数适当地调低),看看访问限制结果。

  最后结果如下:

  与君共勉,加油!!!

时间: 2024-10-06 18:58:03

Nginx 之Tengine limit_req模块模块测试的相关文章

Nginx和Tenginx的limit_req模块的区别

当使用nginx的limit_req模块,limit_req_zone有两个变量,就会报错. [nginx的limit_req模块只能有一个变量,而Tenginx可以支持多个,具体的可以查看官网的模块介绍,很坑,换了tenginx即可] http://www.ithov.com/linux/114606.shtmlhttp://nginx.org/en/docs/http/ngx_http_limit_req_module.html nginx报错:[root@www  ~]# /root/ng

limit_req模块应用

nginx关于连接限制模块的应用文档Limit_req_zone 请求限制 Limit_req_conn 并发限制 Limit_req_whitelist 白名单 Limit_req_zone 官方文档 http://nginx.org/en/docs/http/ngx_http_limit_req_module.htmlLimit_req_conn 官方文档 http://nginx.org/en/docs/http/ngx_http_limit_conn_module.htmlLimit_r

基于nginx和tengine的tcp反向代理,负载均衡 安装和配置

先下载nginx_tcp_proxy_module模块. wget https://github.com/yaoweibin/nginx_tcp_proxy_module/archive/master.zip 先看看自己原来nginx安装有哪些模块(编译参数): [[email protected]]# /tengine/sbin/nginx -VTengine version: Tengine/2.1.1 (nginx/1.6.2)built by gcc 4.4.7 20120313 (Re

使用Tengine concat模块合并多个CSS,JS 请求

用淘宝改良的Nginx(Tengine)提供web服务 今天在本博客上顺利把Nginx换成了Tengine:并启用了动态加载模块 mod_concat,对本博客使用的知更鸟主题各个页面head模板中大量调用的多个CSS,JSS请求进行了合并,即客户端浏览器只需通过一次http请求,即可从服务器返回所需要的多个CSS,JS文件:下面是配置步骤: 编译安装Tengine 1,停止web服务,备份原来的Nginx目录(我是lnmp一键安装的,所以直接备份/usr/local/nginx目录即可) se

Tengine动态模块扩展

Tengine 安装tengine兼容nginx配置并启用模块ngx_http_concat_module ngx_http_concat_module 该模块类似于apache中的mod_concat模块,用于合并多个文件在一个响应报文中. --with-http_concat_module enable ngx_http_concat_module 静态模块 --with-http_concat_module=shared enable ngx_http_concat_module (sha

Nginx核心流程及模块介绍

Nginx核心流程及模块介绍 1. Nginx简介以及特点 Nginx简介: Nginx (engine x) 是一个高性能的web服务器和反向代理服务器,也是一个IMAP/POP3/SMTP服务器 俄罗斯程序员Igor Sysoev于2002年开始 Nginx是增长最快的Web服务器,市场份额已达33.3% 全球使用量排名第二2011年成立商业公司 Nginx社区分支: Openresty作者@agentzh(章宜春)开发的,最大特点是引入了ngx_lua模块,支持使用lua开发插件,并且集合

nginx三 之缓存模块

友情提示: 缓存模块是在动静分离的环境基础上搭建,动静分离可以参考http://www.cnblogs.com/dahuandan/p/6759212.html 介绍 提高网站响应速度是web应用不容忽视的目标,在之前动静分离的基础上,我们已经降低了后端服务器压力,提高了处理请求的性能,但是用户请求的静态资源是从硬盘读取,相比内存的性能还有很大的提高: Nginx自带的缓存模块可以把静态资源缓存到内存中,提高了用户请求静态资源的速度,并且nginx自带缓存模块配置简单,使用灵活,搭配第三方插件可

nginx 学习五 filter模块简介和实现一个简单的filter模块

1 nginx过滤模块简介 过滤(filter)模块是过滤响应头和内容的模块,可以对回复的头和内容进行处理.它的处理时间在获取回复内容之后, 向用户发送响应之前.它的处理过程分为两个阶段,过滤HTTP回复的头部和主体,在这两个阶段可以分别对头部和主体 进行修改. 2 过滤模块执行顺序 2.1 ngx_http_output_(head, body)_filter_pt 先看一下nginx常用的过滤模块,在ngx_moudles.c中有一下代码: ngx_module_t *ngx_modules

Nginx学习指南之模块的应用

一.自述 Nginx模块功能也是相当的丰富,但对于Apache Web来说,两者之间还是有区别的,大家都知道Nginx模块是直接被编译进了nginx.conf配置文件,而Apache则是被编译成为.SO文件,有些是需要在httpd.conf配置文件中指定是否加载,这样才能激活模块功能.Nginx模块有三个角色,Handlers(处理一个HTTP请求,并产生输出):Filters(处理由一个handler生成的输出):load-balancers(负载均衡器,当后端服务器符合一个以上后,依据算法选