Nginx + Lua + Cookie 控制灰度发布

一、下载安装

1、安装 OpenResty下载页openresty-1.15.8.2.tar.gz包(点击下载)、包版本列表

2、安装指导页(点击打开)

3、参考CentOS

二、命令安装

1、 - brew

- $ brew install openresty/brew/openresty

2、查看openResty 安装目录

- $ nginx -t

如图:

3、设置别名

- $ export PATH=/usr/local/opt/openresty/nginx/sbin:$PATH

4、启动

- $ nginx

三、设置工作目录如:配置文件 conf 如:nginx.conf

1、通过 nginx -t

2、拷贝 配置文件夹到 工作目录

- $ cp -r /usr/local/etc/nginx ~/work

修改nginx 文件夹为 conf 名

- $ mv nginx conf

如图:

四、修改nginx.conf 引入Lua脚本

如图:

五、设置resty.cookie

1、拷贝代码https://github.com/cloudflare/lua-resty-cookie/blob/master/lib/resty/cookie.lua

2、打开

查看安装目录,将cookie.lua 写入lualib/resty目录中

$ which nginx

$ open /usr/local/opt/openresty/lualib/resty

$ touch cookie.lua

$ vim cookie.lua { github code}

以下是Lua 脚本可用参考

如图:

代码文件:

https://docs.qq.com/doc/DZmJkaGpNd094RWpM

常用命令:

查看nginx 安装目录

which nginx

Alias:

export PATH=/usr/local/opt/openresty/nginx/sbin:$PATH

查看配置文件

nginx -t

启动:

Nginx

nginx -p `pwd` -c ~/work/conf/nginx.conf

-p 指定“当前工作”目录

-c 指定配置文件目录

重载:

nginx -s reload

原文地址:https://www.cnblogs.com/zero0r1/p/11996840.html

时间: 2024-10-07 10:04:51

Nginx + Lua + Cookie 控制灰度发布的相关文章

nginx+lua+redis实现灰度发布_test

nginx+lua+redis实现灰度发布: 灰度发布是指在黑白之间能够平滑过渡的一种方式 AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面 来.灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现.调整问题,以保证其影响度. 灰度发布可以保证应用系统的稳定,降低产品升级影响的用户范围:也可以按照一定的策略让部分用户提前参与产品测试,从而提早获取到用户的反馈,完善应用功能 原理:使用ngi

基于nginx+lua简单的灰度发布系统

upstream.conf upstream grey_1 { keepalive 1000; server localhost:8020; } upstream grey_2 { keepalive 1000; server localhost:8021; } 8020 conf #vhost conf server{ listen 8020; index index.php index.html index.do; root /var/html/webroot/grey_1; access_

nginx 根据IP 进行灰度发布

灰度发布,简单来说,就是根据各种条件,让一部分用户使用旧版本,另一部分用户使用新版本. nginx 的语法本身可以看作是一门小型的编程语言,通过简单的编程,可以轻松实现基于IP的灰度发布. 需求:搭建准生产环境,供开发人员/运维在线上做最后的调整.如果OK,直接用rsync推送至生产环境. 条件:办公室网络出口有固定IP 解决办法: nginx 负载均衡器判断客户端IP地址, 如果是办公室IP,则反向代理到准生产环境: 如果不是,则反向代理到生产环境. 1 2 3 4 5 6 7 8 9 10

互联网产品灰度发布

互联网产品灰度发布 关于2016年5月15日,DevOps成都站|架构与运维峰会活动总结 1. 前言 2 2. 灰度发布定义 5 3. 灰度发布作用 5 4. 灰度发布步骤 5 5. 灰度发布测试方法 6 6. 灰度发布引擎 6 7. 灰度发布常见问题 8 7.1. 以偏概全 8 7.1.1. 问题特征: 8 7.1.2. 解决方案: 8 7.2. 知识的诅咒 9 7.2.1. 问题特征: 9 7.2.2. 解决方案: 9 7.3. 发布没有回头路可走 9 7.3.1. 问题特征: 9 7.3.

Nginx配置之负载均衡、限流、缓存、黑名单和灰度发布

一.Nginx安装(基于CentOS 6.5) 1.yum命令安装 yum install nginx –y(若不能安装,执行命令yum install epel-release) 2. 启动.停止和重启 service nginx startservice nginx stopservice nginx restart浏览器中 输入服务器的 ip 地址,即可看到相应信息 3. 其他信息 rpm -ql nginx 来查看安装路径yum remove nginx 来卸载 nginx -s rel

基于cookie在nginx实现业务灰度发布

基于cookie在nginx实现业务灰度发布 背景 灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式. 灰度发布可以保证整体系统的稳定, 在初始灰度的时候就可以发现.调整问题,以保证其影响度. 业务存在灰度发布的需求, 可以通过nginx+lua形式实现业务的灰度发布, 目前这一形式已在广平互动广告相关业务已经实现. 流程 用户使用帐号登录后,判断用户帐号是否在灰度发布的名单中,如果再则给用户的cookie中增加灰度发布标识,然后刷新页面. 当用户访问页面时,业务接入层的nginx方向代理会

使用Nginx+Lua实现Web项目的灰度发布

使用Nginx+Lua实现Web项目的灰度发布 Nginx编译安装Lua模块 一.安装LUA环境及相关库 官方网站:https://github.com/openresty/lua-nginx-module 1.LuaJIT wget http://luajit.org/download/LuaJIT-2.0.2.tar.gz make && make install PREFIX=/usr/local/LuaJIT # vim /etc/profile export LUAJIT_LIB

18. Nginx与Lua灰度发布

安装 memcached yum install -y memcached #启动memcached服务,端口11211,以nobody身份启动,-d后台模式运行 memcached -p11211 -u nobody -d #将自己的IP设为灰度测试的IP telnet 127.0.0.1 11211 set 119.32.216.122 0 0 1 1 quit 安装 memcached for lua wget https://github.com/openresty/lua-resty-

Nginx详解二十四:Nginx深度学习篇之灰度发布

实战场景 - 灰度发布 灰度发布的作用:按照一定的关系区别,分部分的代码进行上线,使代码的发布能平滑过渡上线实现方式: 1.用户的信息cookie等信息区别 2.根据用户的IP地址 安装memcached:yum -y install memcached 准备好两个tomcat,9090代表生产环境,8080代表预发布环境 为避免冲突,修改tomcat9090的端口号 这里分别在同个tomcat/webapp/ROOT/下放了同样内容的jsp文件 把8080下的jsp问价内容改一下区别于9090