Skip to main content

OpenResty学习

· 4 min read
CheverJohn

入门

三大特性

OpenResty的发展

基于成熟的开源组件——Nginx和LuaJIT。OpenResty诞生于2007年,第一个版本用的是Perl,原因是这跟作者章亦春的技术偏好有很大关系。

详尽的文档和测试用例

OpenResty的文档非常详细,作者把每一个需要注意的点都写在了文档中。

OpenResty还自带了一个命令行工具restydoc,专门用来帮助你通过shell查看文档,避免编码过程被打断。

同步非阻塞

什么是同步非阻塞。

阻塞:特质阻塞操作系统的线程。

动态

我理解为热部署呢,动态加载配置文件,就很棒!跟Nginx相比棒多了!

主要原因是OpenResty是由脚本语言Lua来控制逻辑的,动态是Lua的特性。

列出OpenResty的8重点,才能学好OpenRest

  • 同步非阻塞的编程模式;
  • 不同阶段的作用;
  • LuaJIT和Lua的不同之处;
  • OpenResty API和周边库;
  • 协程和cosocket;
  • 单元测试框架和性能测试工具;
  • 火焰图和周边工具链;
  • 性能优化。

test for github.

写一个helloworld

首先应该配置好环境,我倒是没有想到的是,居然好像不支持windows(emmmmm,当然是我扫了一眼得出的结论啦,不当真不当真)。

这边我看《极客时间》温铭老师提出了两个值得思考的问题 问题

  • 为什么不推荐源码编译安装呢?

    • 在我们日常操作中,其实就有这么一种操作,比如nginx,我们就自行编译打包运行,甚至也会使用一些额外的小命令-g 啦之类的,做一些很细致化的操作。
    • official 回答:老师给出的建议是,不是很建议是因为我们的日常目标是在生产环境中快速部署,所以理应使用更稳妥的方法。
    • 我的回答:淦,这不是明摆着的嘛,具体问题具体分析,亘古不变的道理,如果是玩票,随便你咋安装(事实上我刚开始肯定自己编译安装:) ,想好好了解这个东西呢!)
  • 为什么官方不接受第三方维护的包呢?

    • 这个问题我要小小解释一下,说不定我亲爱的读者们连题目都没有读得懂呢?第三方维护的包,一般是指为了加快源库的下载安装速度(网速为啥会变慢,就不由我多说了哈),国内会有一些公益性质的组织自行维护一些常见的包库,通过定时从国外的官方源库中下载下来,发布在国内的服务器上,这样国内用户自然而然就可以有很快的下载速度啦。此处可以举例清华tuna的清华源,就是这么个道理。

      official回答:为了避免第三方和官方之间的冲突,导致后期的项目