Openresty教程解读
都知道Nginx有很多的特性和好处,但是在Nginx上开发成了一个难题,Nginx模块需要用C开发,而且必须符合一系列复杂的规则,最重要的用C开发模块必须要熟悉Nginx的源代码,使得开发者对其望而生畏。为了开发人员方便,所以接下来我们要介绍一种整合了Nginx和lua的框架,就是Openresty
beyondwild
愿你眸有星辰,心有山河,以梦为马,不负韶华!
展开
-
Openresty最佳解读 | 第9篇:Openresty实现的网关权限控制
简介采用openresty 开发出的api网关有很多,比如比较流行的kong、orange等。这些API 网关通过提供插件的形式,提供了非常多的功能。这些组件化的功能往往能够满足大部分的需求,如果要想达到特定场景的需求,可能需要二次开发,比如RBAC权限系统。本小节通过整合前面的知识点,来构建一个RBAC权限认证系统。技术栈本小节采用了以下的技术栈:Openresty(lua+nginx) mysql redis cjson验证流程 用户请求经过nginx,nginx的ope原创 2020-07-13 13:56:08 · 949 阅读 · 0 评论 -
Openresty最佳解读 | 第8篇:RBAC介绍、sql和redis模块工具类
RBAC介绍RBAC(Role-Based Access Control,基于角色的访问控制),用户基于角色的访问权限控制。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般都是多对多的关系。如图所示:sql_tool在本案例中,采用的就是这种权限设计的方式。具体的sql语句脚本如下:CREATE TABLE `user` (`id` int(11) NOT NULL AUTO_.原创 2020-07-13 13:47:40 · 267 阅读 · 0 评论 -
Openresty最佳解读 | 第7篇:模块开发、OpenResty连接Redis
Lua模块开发在实际的开发过程中,不可能把所有的lua代码写在一个lua文件中,通常的做法将特定功能的放在一个lua文件中,即用lua模块开发。在lualib目录下,默认有以下的lua模块。lualib/├── cjson.so├── ngx│ ├── balancer.lua│ ├── ocsp.lua│ ├── re.lua│ ├── semaphore.lua│ ├── ssl│ │ └── session.lua│ └── ssl.lua原创 2020-07-13 13:43:12 · 330 阅读 · 0 评论 -
Openresty最佳解读 | 第6篇:OpenResty连接Mysql
centos 安装mysqlCentos系统下安装mysql,先下载mysql-community-release-el7-5.noarch.rpm,然后通过yum安装,安装过程一直确定【Y】即可。cd /usr/downloads/wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpmrpm -ivh mysql-community-release-el7-5.noarch.rpmyum insta原创 2020-07-13 11:18:22 · 353 阅读 · 0 评论 -
Openresty最佳解读 | 第5篇:http和C_json模块
http客户端Openresty没有提供默认的Http客户端,需要下载第三方的http客户端。下载lua-resty-http到lualib目录下,使用以下的命令下载:cd /usr/example/lualib/resty/ wget https://raw.githubusercontent.com/pintsized/lua-resty-http/master/lib/resty/http_headers.lua wget https://raw.githubuserconte原创 2020-07-13 11:14:08 · 356 阅读 · 0 评论 -
Openresty最佳解读 | 第4篇:OpenResty常见的api
获取请求参数vim /usr/example/example.conflocation /lua_var { default_type 'text/plain'; content_by_lua_block { ngx.say(ngx.var.arg_a) } }重新加载nginx配置文件: nginx -s reload在浏览器上访问http://116.196.177.123/lua_var?a=323,浏览器显示:...原创 2020-07-13 11:09:57 · 374 阅读 · 0 评论 -
Openresty最佳解读 | 第3篇:Openresty安装
我的服务器为一台全新的centos 7的服务器,所以从头安装openresty,并记录了安装过程中出现的问题,以及解决办法。1.首先安装openrestycd /usrmkdir serversmkdir downloads yum install libreadline-dev libncurses5-dev libpcre3-dev libssl-dev perl cd /usr/servers wget https://openresty.org/download/open原创 2020-07-13 10:57:28 · 412 阅读 · 0 评论 -
Openresty最佳解读 | 第2篇:Lua入门
什么是luaLua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua 是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所组成并于1993年开发。—摘抄 http://ww原创 2020-07-13 10:48:16 · 285 阅读 · 0 评论 -
Openresty最佳解读 | 第1篇:Nginx介绍
Nginx 简介Nginx是一个高性能的Web 服务器,同时是一个高效的反向代理服务器,它还是一个IMAP/POP3/SMTP代理服务器。由于Nginx采用的是事件驱动的架构,能够处理并发百万级别的tcp连接,高度的模块化设计和自由的BSD许可,使得Nginx有着非常丰富的第三方模块。比如Openresty、API网关Kong。BSD开源协议是一个给予使用者很大自由的协议。基本上使用者可以"为所欲为",可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。N.原创 2020-07-13 10:30:14 · 428 阅读 · 0 评论 -
Openresty教程解读 | 目录汇总
目录Openresty最佳案例 | 第1篇:Nginx介绍 Openresty最佳案例 | 第2篇:Lua入门 Openresty最佳案例 | 第3篇:Openresty安装 Openresty最佳案例 | 第4篇:OpenResty常见的api Openresty最佳案例 | 第5篇:http和c_json模块 Openresty最佳案例 | 第6篇:OpenResty连接Mysql Openresty最佳案例 | 第7篇:模块开发、OpenResty连接Redis Openres.原创 2020-07-13 09:11:58 · 560 阅读 · 0 评论