在锤子科技发布会上,提到给Openresty的捐赠的事情,出于好奇我在是网上查询了Openresty,看到了Openresty的官网(http://openresty.org/en/)。看到介绍说的很强大,然后开始了解国内外哪些公司在使用,也对Openresty进行了学习,和做了一些Demo ,发现Openresty开发效率确实很高,最后找到了一些资源,在此将这些资料整理出来,方便后期的学。

1、Openresty最佳实践 (https://moonbingbing.gitbooks.io/openresty-best-practices/content/)

最佳实践应该是入门Openresty必读的资料,讲解也比较简单,也是一些比较基础的

2、《Nginx Lua 开发实践》图书地址(https://item.jd.com/12319546.html)

这本书虽然标题不是Openresty,内容全是Openresty,也是讲解了Openresty比较基础的知识,同时也给出了Openresty一些常用模块的讲解,并且有一些小的Demo,书的最后两章,讲解了Openresty的指令 和常用API,在我看来基本上算是翻译一下Openresty github上的 api,只是用自己的语言描述出来。

3、Openresty Github (https://github.com/openresty/lua-nginx-module)

这是Openrety的核心module 上面文档是开发Openresty应用一定要看的。

4、StuQ 一系列入门的视频教程,这个可以下bilibili上看,直接搜索就可看到一共3个小部分。

5、春哥在2014年nginx conf大会上的演讲视频(https://www.youtube.com/watch?v=Z0fQabvVhIk) ,这个视频在youtube上,需要FQ,这个演讲最要讲了openresty的一些内部机制。

6、《深入理解Nginx:模块开发与架构解析》这本书写了如何开发Nginx的模块开发,看了之后,基本上可以开发自己的Nginx的模块开发,能够帮助我们理解Nginx内部一些核心概念和特性,比如 Openresty hook的一些阶段,以及子请求,以及顺序执行和平行请求。

7、春哥写的Nginx模块开发的学习项目echo-nginx-module(https://github.com/openresty/echo-nginx-module) 这个项目确实算是nginx模块开发的最好的项目,而且代码写的可读性非常好。

8、以及几个必读的驱动包 lua-resty-redis lua-resty-mysql lua-resty-lock lua-resty-memcached 之前对mysql、redis、memcached 这些驱动感觉很神秘,但是读了这几个驱动包之后,感觉这些协议实现没那么神秘而且自己也可以实现这些驱动。

9、基于Openresty的百万级长链接推送 这个是酷狗的使用Openresty做WebSocket长链接的一个演讲,如果做长链 是很好的一个例子,网上有视频

10、It大咖说一些Openresty一系列峰会的演讲视频(https://www.itdks.com/ActivityC/search?keyWord=Openresty) 里面有很多公司实际应用上的例子,以及社区发展和Openresty 不同年度的新特性。

11、Openresty在Api 网关上的成熟应用 Kong、Orange ,Kong还没有细看,但是Orange这个项目我是全部看完了,基本上对Orange这个解决方案了解的很深入。

12、《Lua程序设计》 里面除了写到Lua使用的教程,而且还有C API相关的内容,如果要试图读openresty的源代码,最好先看一下这本书,因为Openresty里面存在很多Lua 和C的交互

13、高效的Luajit 翻译文章(https://blog.csdn.net/qq_35624156/article/details/77455670)

14、B站Upload分享(https://www.tuicool.com/articles/UNziEjn)

Openresty学习汇总的更多相关文章

  1. ABP 学习汇总

    本文背景 公司最近规划的新框架准备基于ABP来搭建,自从在阳铭博客看到ABP框架的介绍后,就一直持续关注着,但还没真正在实际项目中直接使用ABP,只是自己做了一些学习和Demo.ABP所用到的一些新技 ...

  2. JS object(对象)的学习汇总

    Object(对象)是在所有的编程语言中都十分重要的一个概念,对于事物我们可以把他们看作是一个对象,而每一个事物都有自己的表示的属性和对于某一信息作出的相应的操作.而这些东西就变成了事物的属性和方法. ...

  3. MINA学习汇总

    MINA学习汇总 Apache Mina Server 是一个网络通信应用框架,用于开发高性能和高可用性的网络应用程序.它主要是对基于TCP/IP.UDP/IP协议栈的通信框架(然,也可以提供JAVA ...

  4. openresty 学习笔记小结:综合应用实例

    openresty 学习笔记小结:综合应用实例 这个综合实验实现的功能其实很简单,用户访问一个页面,显示一个默认页面.输入参数(post或者get都可以),如果参数在数据库查询得到并满足一定条件,根据 ...

  5. openresty 学习笔记六:使用session库

    openresty 学习笔记六:使用session库 lua-resty-session 是一个面向 OpenResty 的安全和灵活的 session 库,它实现了 Secure Cookie Pr ...

  6. openresty 学习笔记番外篇:python的一些扩展库

    openresty 学习笔记番外篇:python的一些扩展库 要写一个可以使用的python程序还需要比如日志输出,读取配置文件,作为守护进程运行等 读取配置文件 使用自带的ConfigParser模 ...

  7. openresty 学习笔记番外篇:python访问RabbitMQ消息队列

    openresty 学习笔记番外篇:python访问RabbitMQ消息队列 python使用pika扩展库操作RabbitMQ的流程梳理. 客户端连接到消息队列服务器,打开一个channel. 客户 ...

  8. openresty 学习笔记五:访问RabbitMQ消息队列

    openresty 学习笔记五:访问RabbitMQ消息队列 之前通过比较选择,决定采用RabbitMQ这种消息队列来做中间件,目的舒缓是为了让整个架构的瓶颈环节.这里是做具体实施,用lua访问Rab ...

  9. openresty 学习笔记四:连接mysql和进行相关操作

    openresty 学习笔记四:连接mysql和进行相关操作 毕竟redis是作为缓存,供程序的快速读写,虽然reidis也可以做持久化保存,但还是需要一个做数据存储的数据库.比如首次查询数据在red ...

随机推荐

  1. OpenGL 4.0 GLSL 基础教程概览——VAO和VBO常用操作接口

    (一) OpenGL  4.3 最新渲染管线图 从OpenGL 2.0 到 OpenGL 3.0变化非常大,但从OpenGL 3.0 到OpenGL 4.0 变化不是太大. 着色器程序直接运行在GPU ...

  2. C++11新特性之八——函数对象function

    详细请看<C++ Primer plus>(第六版中文版) http://www.cnblogs.com/lvpengms/archive/2011/02/21/1960078.html ...

  3. 《C++ Primer Plus》14.3 多重继承 学习笔记

    多重继承(MI)描述的是有多个直接基类的类.与单继承一样,共有MI表示的也是is-a关系.例如,可以从Awiter类和Singer类派生出SingingWaiter类:class SingingWai ...

  4. [SCOI2008] 着色方案[高维dp]

    321. [SCOI2008] 着色方案 ★★★   输入文件:color.in   输出文件:color.out   简单对比时间限制:1 s   内存限制:64 MB 题目背景: 有n个木块排成一 ...

  5. CRUX下实现进程隐藏(2)

    前面我们介绍了如何修改/proc目录读取函数的方法实现进程隐藏.这篇博文将介绍另一种方法—— 劫持系统调用实现进程隐藏. 其基本原理是:加载一个内核模块(LKM),通过劫持系统调用sys_getden ...

  6. all index range ref eq_ref const system 索引type说明

    背景知识 在使用sql的过程中经常需要建立索引,而每种索引是怎么处罚的又是怎么起到作用的,首先必须知道索引和索引的类型. 索引类型type 我们可以清楚的看到type那一栏有index ALL eq_ ...

  7. 微信小程序 --- if/else条件渲染

    if 条件渲染:当为真的时候显示,当为假的时候隐藏: else 条件渲染:当为真的时候隐藏,当为假的时候显示: <view wx:if="{{true}}">{{tex ...

  8. JS复制制定内容到剪贴板怎么做?

    可以使用input也可以使用textare文本域来做(而且这个input/textarea不能够被隐藏): <a href="javascript:;" onclick=&q ...

  9. T-SQL数据库备份

    /*1.--得到数据库的文件目录 @dbname 指定要取得目录的数据库名 如果指定的数据不存在,返回安装SQL时设置的默认数据目录 如果指定NULL,则返回默认的SQL备份目录名 */ /*--调用 ...

  10. opencv学习笔记——minMaxIdx函数的含义及用法

    opencv中有时需要对Mat数据需要对其中的数据求取最大值和最小值.opencv提供了直接的函数 CV_EXPORTS_W void minMaxLoc(InputArray src, CV_OUT ...