在锤子科技发布会上,提到给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. 也谈谈Unity的transform使用

    一.Transform和transform 我们来详谈Unity的transform使用,这里所说的tansform不是类UnityEngine命名空间下的Transform,而是transform. ...

  2. EasyUI 每页展示100条数据

    $(function() { //$("#bgAddTime").datebox("setValue", getTimeString()+" 00:0 ...

  3. js里面setInterval和setTimeout相同点和区别

    相同点:两个方法都是先触发间隔时间,再触发回调函数 区别: 1.setInterval每隔指定的时间就执行一次表达式,若不停止会一直执行下去 而setTimeout在执行时,是在载入后延迟指定时间后, ...

  4. thinkphp5 Windows下用Composer引入官方GitHub扩展包

    很多新手,比如说我,写代码就是在windows下,所以总会遇到很多不方便的地方,比如说GitHub上面的代码更新了,要是你在linux,只要几行命令就可以搞定更新了,在windows下面,你需要用到C ...

  5. PHP之变量范围

    前面的话 变量范围即它定义的上下文背景(也就是它的生效范围).在javascript中,并没有变量范围这一概念,相似的可能是作用域.但是,由于javscript使用的是词法作用域,指变量声明时的位置: ...

  6. linux 学习的一些书单,对了解android 也有大用

    要推荐的书,我在<那两年炼就的Android内功修养>这篇文章中有提到,这里再列一下出来: 语言类: <深度探索C++对象模型>,对应的英文版是<Inside C+++  ...

  7. diamond types are not supported at this language level

    在intellij导入git项目之后出现 diamond types are not supported at this language level错误 或者String等报错 File->P ...

  8. 数据一致性和io类型

    版权声明:本文由高剑林原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/106 来源:腾云阁 https://www.qclo ...

  9. 图片上传转base64

    代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title ...

  10. struts2的s:iterator 标签 详解<转>

    struts2的s:iterator 可以遍历 数据栈里面的任何数组,集合等等 以下几个简单的demo: s:iterator 标签有3个属性:     value:被迭代的集合     id   : ...