安装好以后直接就可以配置实践了,openresty将lua都集成好了,nginx配置文件无需特殊声明引入lua file。
1.nginx.conf 添加两个灰度发布的环境 #grey 灰度环境地址 #prd生产环境地址
http块操作
upstream grey { server 127.0.0.1:8080; } upstream prd { server 139.162.116.84:8080; }
server块操作,添加对应location
location @grey{ proxy_pass http://grey } location @prd{ proxy_pass http://prd } # 在server 里根location指定lua文件 location / { default_type 'text/html'; content_by_lua_file /root/openresty/nginx/conf/lua_conf/grey.lua; }
[root@luka77 lua_conf]# cat penresty/nginx/conf/lua_conf/grey.lua foreign_env = 'grey' china_env = 'prd' --流量比率 abtest_num = 50 local num = math.random(100); if (num <= abtest_num) then ngx.log(ngx.INFO,'use foreign environment',foreign_env) ngx.exec("@"..foreign_env) else ngx.log(ngx.INFO,'use foreign environment',china_env) ngx.exec("@"..china_env) end