在锤子科技发布会上,提到给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. lower()

    lower() 用于把字符串中的大写字母转换成小写字母 In [1]: str = "Hello World" In [2]: str.lower() Out[2]: 'hello ...

  2. locals()

    locals() 有两种情况: (1) 如果在函数内部使用 locals(),那么会以字典的形式返回函数内部定义的变量,如下例1(2) 如果在函数外部使用 locals(),那么会以字典的形式返回全局 ...

  3. 第三篇:基于K-近邻分类算法的手写识别系统

    前言 本文将继续讲解K-近邻算法的项目实例 - 手写识别系统. 该系统在获取用户的手写输入后,判断用户写的是什么. 为了突出核心,简化细节,本示例系统中的输入为32x32矩阵,分类结果也均为数字.但对 ...

  4. 开始iOS 7中自动布局教程(一)

    本文转载至 http://www.cocoachina.com/industry/20131203/7462.html 到目前为止,如果你的设计相当的复杂,那么你必须编写大量的代码来适应这样的布局.你 ...

  5. Android英文文档翻译系列(1)——AlarmManager

      原文:个人翻译,水平有限,欢迎看官指正.                                                              public class Ala ...

  6. WEB安全番外第六篇--关于通过记录渗透工具的Payload来总结和学习测试用例

    背景: 在WEB安全的学习过程中,了解过了原理之后,就是学习各种Payload,这里面蕴藏着丰富的知识含量,是在基本上覆盖了漏洞原理之后的进一步深入学习的必经之路.无理是Burpsuite还是Sqlm ...

  7. Java 泛型 详解

    一.什么是泛型 本质而言,泛型指的是参数化的类型.参数化的类型的重要性是:它能让你创建类.接口和方法,由它们操作的数据类型被指定为一个参数.操作参数化类型的类.接口或方法被称为泛型,如泛型类或泛型方法 ...

  8. 170627、springboot编程之定时任务

    springboot定时任务,比较简单! 1.编写DemoSchedule.java类 package com.rick.common.schedule; import org.springframe ...

  9. HOJ 2226&POJ2688 Cleaning Robot(BFS+TSP(状态压缩DP))

    Cleaning Robot Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4264 Accepted: 1713 Descri ...

  10. HDU 5652 India and China Origins(并查集)

    India and China Origins Time Limit: 2000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/ ...