Nginx与Lua灰度发布的实现
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,安装 memcachedyum install -y memcached#启动memcached服务,端口11211,以nobody身份启动,-d后台模式运行memcached -p11211 -u
千家信息网最后更新 2025年12月03日Nginx与Lua灰度发布的实现
安装 memcached
yum install -y memcached#启动memcached服务,端口11211,以nobody身份启动,-d后台模式运行memcached -p11211 -u nobody -d#将自己的IP设为灰度测试的IPtelnet 127.0.0.1 11211set 119.32.216.122 0 0 11quit
安装 memcached for lua
wget https://github.com/openresty/lua-resty-memcached/archive/v0.11.tar.gztar -zxvf v0.11.tar.gzmkdir -p /usr/local/share/lua/5.1cp -r lua-resty-memcached-0.11/lib/resty /usr/local/share/lua/5.1
创建 test.lua 文件
clientIP=ngx.req.get_headers()["X-Real-IP"]if clientIP == nil then clientIP=ngx.req.get_headers()["x_forwarded_for"]endif clientIP == nil then clientIP=ngx.var.remote_addrend local memcached=require "resty.memcached" local memc,err=memcached:new() if not memc then ngx.say("failed to instantiate memc:",err) return end local ok,err =memc:connect("127.0.0.1",11211) if not ok then ngx.say("failed to connect:",err) return end local res,flags,err =memc:get(clientIP) --ngx.say("value key: ",res,clientIP) if err then ngx.say("failed to get clientIP",err) return end if res == "1" then ngx.exec("@server_test") return end ngx.exec("@server_product")nginx配置
server { listen 8867; server_name www.siguoya.name; root /usr/local/nginx/1.12.1/html; location / { content_by_lua_file /etc/nginx/test.lua; } location /hello { default_type text/plain; content_by_lua 'ngx.say("hello lua")'; } location /ua { default_type text/plain; content_by_lua ' clientIP=ngx.req.get_headers()["USER-AGENT"] ngx.say("IP:",clientIP) '; } location @server_product { default_type text/plain; return 200 'product'; } location @server_test { default_type text/plain; return 200 'test'; } }由于我们将 119.32.216.122 这个IP添加进了memcached中,因此访问 http://www.siguoya.name:8867/ 的时候,看到的内容就是 test
而开启全局代理之后,发现看到的内容就是 product,这样就实现了针对部分用户进行灰度测试的效果
到此这篇关于Nginx与Lua灰度发布的实现的文章就介绍到这了,更多相关Nginx与Lua灰度发布内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
灰度
内容
文章
就是
测试
全局
后台
效果
文件
时候
更多
模式
用户
端口
身份
部分
面的
代理
搜索
支持
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
鸿峥网络技术有限公司官网
win10 服务器版
网络技术环境下的物理教学
荷鹏网络技术
国三网络技术如何学
免服务器做云验证登录
软件开发履约能力评分
网络安全处罚条例
许昌网络技术参数
软件开发员生涯人物访谈报告
乐清惠软网络技术公司
辽宁高速通服务器云空间
mysql数据库登不进去
山东省考网络安全管理
在mysql中创建数据库
上海交大华为网络安全实践
佛山市巨投网络技术有限公司
网络安全大赛用什么电脑
网络安全专家周正
服务器管理在哪里设置密码
网络文明和网络安全宣传方案
关于公司网络安全的通知
找相亲网络技术有前途吗
javaMC服务器有哪些
南京智能软件开发定做价格
任子行网络技术股份有限
有关网络安全
云服务器镜像运行环境
上海灵点网络技术有限公司
浙江交友软件开发哪家实惠