当测试环境需要一些数据时,除了仿造一些数据外,更方便和更好的做法是,将来自正式环境的用户请求copy一份到测试环境。
依赖模块:lua-nginx-module,ngx_devel_kit, headers-more-nginx-module
以上模块在github上均可以找到,作者是国内nginx的著名开发者agentzh。
使用模块需要重新编译nginx,加上编译选项:–add-module=/path/to/your/module 。
下面是nginx配置:
>>cat copy_req.lua
local res1, res2, action
action = ngx.var.request_method
if action == “POST” then
arry = {method = ngx.HTTP_POST, body = request_body}
else
arry = {method = ngx.HTTP_GET}
end
if ngx.var.svr == “on” then
res1, res2 = ngx.location.capture_multi {
{ “/s1″ .. ngx.var.request_uri , arry},
{ “/test” .. ngx.var.request_uri , arry},
}
else
res1, res2 = ngx.location.capture_multi {
{ “/s1″ .. ngx.var.request_uri , arry},
}
end
if res1.status == ngx.HTTP_OK then
local header_list = {“Content-Length”, “Content-Type”, “Content-Encoding”, “Accept-Ranges”}
for _, i in ipairs(header_list) do
if res1.header[i] then
ngx.header[i] = res1.header[i]
end
end
ngx.say(res1.body)
else
ngx.status = ngx.HTTP_NOT_FOUND
end
>>cat nginx.conf
……..
location ~* ^/s1 {
log_subrequest on;
rewrite ^/s1(.*)$ $1 break;
proxy_pass http://s1;
access_log /opt/logs/nginx/youni/upstream.log;
}
location ~* ^/test {
log_subrequest on;
rewrite ^/test(.*)$ $1 break;
proxy_pass http://test;
access_log /opt/logs/nginx/youni/upstream.log;
}
location ~* ^/(.*)$ {
client_body_buffer_size 2m;
set $svr “on”; #开启或关闭copy功能
content_by_lua_file req_fenliu.lua;
}
upstream s1 {
server x.x.x.x;
}
upstream test {
server xx.xx.xx.xx;
}
其中nginx.conf内的http,server域没有给出,大家依照自己的配置即可。
相关推荐
有时需要进行并发测试,需要排除本地机器等环境问题,可以使用web服务器NGINX的流量拷贝方式把请求进行翻倍,从而达到并发目的
流量带宽请求状态统计 ngx_req_status用来展示nginx请求状态信息,类似于apache的status,nginx自带的模块只能显示连接数等等信息,我们并不能知道到底有哪些请求、以及各url域名所消耗的带宽是多少。ngx_req_status...
nginx安装环境及nginx_1.18.0安装包,gcc、g++、pcre、zlib、nginx包
海康威视摄像头web端显示方案(Nginx环境测试)
bara是一个基于Nginx和Docker的多版本程序同时在线的简易测试环境,只能单机使用,并且只是一个PoC而已,仅供参考。简单来说,就是使用Nginx做反向代理,代理到后面的Docker容器,bara能动态创建Nignx配置文件,重启...
Windows、Nginx、MySQL、PHP集成环境 解压即可使用 版本信息: nginx 1.5.8 php 5.2.16 x86 start_nginx.bat启动wnmp集成环境 stop_nginx.bat关闭wnmp集成环境
资源是php+nginx的开发运行环境,应该适用于所有windows系统(本人测试w7+w10+w2003). 获取到资源后,应修改几个文件。...这是作者写的一个小d测试环境,很多并未完善,仅供初学者学习。希望读者不喜勿喷。
nginx四层代理测试 及SLB负载均衡功能配置测试
awk测试从nginx查询qps的测试日志
2、安装Luajit2.0.2 make make install 3、安装nginx export LUAJIT_LIB=/usr/local/lib export LUAJIT_INC=/usr/local/...需要把usr/local/lib中的liblua包映射到/lib目录下面。 ln -s /usr/local/lib/liblua* /lib
高流量站点NGINX与PHP的优化
Nginx应用案例分享:压力测试,Nginx测试,Nginx压力测试
nginx入门到精通nginx入门到精通nginx入门到精通nginx入门到精通nginx入门到精通
1、ab 测试工具安装 2、wrk测试工具 1、系统和nginx是否可以建立多个socket连接 2、系统和nginx是否允许一次性打开多个文件 1、http连
16-08 nginx-hls-多码率测试环境搭建1
内容概要:该安装包为1.22.1版本的 nginx 源码包编译后的安装压缩包。 主要用途:可以用于在 Linux 上免安装地部署 ...3.使用命令测试是否配置成功:nginx -v 资源亲测可用,整理不易,还请各位大佬简单打赏一下。
欢迎使用:win+nginx+mysql+php+zend+phpmyadmin+eAccelerator+asp+aspx一键安装包,安装包为nginx for windows,集成了nginx、mysql、php、zend、phpmyadmin、mono、netbox、eAccelerator等,方便大家搭建高速web...
内网nginx全套安装环境,包含gcc安装插件,使用说明请参照本人的博客:https://blog.csdn.net/mekave/article/details/90757475
在RHEL 6中搭建一台Nginx网站服务器,其中有讲解到Nginx的运行原理以及详细的环境搭建
linux 环境 nginx安装包