如上图所示,主要包含了 bin、luajit、lualib、nginx、pod 这几个子目录。理解这几个文件夹的含义很重要,可以帮我们更好地学习 OpenResty。接下来,我们逐个来看一下。

一. bin (重要)

  • openresty
      它其实是nginx 的一个软链接。至于目录里面其他的一些工具,没有任何悬念,它们和 resty 一样,都是 Perl 脚本。
  • opm
      包管理工具,可以通过它来管理各类第三方包
  • restydoc
      它是 OpenResty 提供的文档查看工具,你可以通过它来查看 OpenResty 和 NGINX 的使用文档。
      如下所示的两个例子,分别查询了 OpenResty 的 API 和 NGINX 的指令。
    $ restydoc -s ngx.say
    $ restydoc -s proxy_pass

二. pod

  pod 是 Perl 里面的一种标记语言,用于给 Perl 的模块编写文档。pod 目录中存放的就是OpenResty、 NGINX、lua-resty-*、LuaJIT 的文档, 这些就和刚才提到的 restydoc 联系在一起了

三. nginx

四. luajit

  早期的 OpenResty 同时带有 Lua 和 LuaJIT,你可以通过编译选项,来决定使用 Lua 还是 LuaJIT。不过到了现在,Lua逐渐被淘汰,就只支持更高性能的 LuaJIT了。

五. lualib

  它里面存放的是 OpenResty 中使用到的 Lua 库,主要分为 ngx 和 resty 两个子目录。

  • ngx
    存放的是 lua-resty-core 这个官方项目中的 Lua 代码,里面都是基于 FFI 重新实现的 OpenResty API
  • resty
    resty 目录中存放的则是各种 lua-resty-* 项目包含的 Lua 代码
posted on 2022-07-08 16:03  残月影歌  阅读(716)  评论(0)    收藏  举报