了解 OpenResty XRay 是如何做到帮助企业定位应用程序存在的问题以及优化其效率的。

了解更多 LIVE DEMO

本教程演示了如何使用 OpenResty 的 restydoc 命令行工具快速查找 Nginx 模块、Nginx配置指令、Lua API函数、Lua C函数、Lua模块等 OpenResty 文档。restydoc工具最初的灵感来自 Perl 的 perldoc 工具。

which restydoc
rpm -qf `which restydoc`

截图 1

restydoc实用程序是与 OpenResty 本身一起发布的,在基于 Yum 的系统中,它的名字是 openresty-doc。在基于 Yum 的系统中,软件包的名称是 openresty-doc

在基于 Debian 的系统上,比如 Ubuntu 20.04,软件包的名字是 openresty-restydoc

ssh ubuntu20-pkg

which restydoc
dpkg -S `which restydoc`

截图 3

我们可以像这样查找 Nginx 标准指令 rewrite 的文档。

restydoc -s rewrite

请注意 -s 选项,意思是“段”。

截图 6

它是从 Nginx 官方文档中提取的。在外壳下,它调用了 less 工具。

我们可以使用空格键切换到下一页。

截图 8

我们用 q 键退出。

截图 9

或者标准的 Nginx 的 listen 指令。

restydoc -s listen

截图 10

或者我们的 OpenResty 的 nginx 模块指令,比如 init_worker_by_lua

restydoc -s init_worker_by_lua

标准的 Lua 函数也可以查到。

restydoc -s string.find

截图 12

它是从官方的 Lua 5.1 参考手册中提取的。

或标准的 Lua 的 C API 函数。

restydoc -s lua_gc

截图 14

或者 LuaJIT 的 Lua API 扩展。

restydoc -s ffi.cdef

截图 15

或者 OpenResty 自己的 Lua API 扩展。

restydoc -s ngx.re.match

上面所有的 restydoc 命令都指定了 -s 选项。这是因为显示的文档都是一些较大文档中的部分。

我们可以像查看整个 Nginx 模块的大型文档一样查看。

restydoc ngx_http_rewrite_module

这里我们不指定 -s 选项。

和预期的一样,文本长了很多。

截图 21

或者整个 Lua 模块。

restydoc resty.redis

截图 22

这是 OpenResty 附带的 resty.redis 库。

截图 23

或者指定 Lua 库名。

restydoc lua-resty-lrucache

要查看 restydoc 的所有选项,请使用 -h 选项。

restydoc -h

截图 25

今天我想介绍的就这么多。希望你觉得这个工具有用。 如果你喜欢这个教程,请订阅这个博客网站和我们的 YouTube 频道B 站频道。谢谢!

关于本文和关联视频

本文和相关联的视频都是完全由我们的 OpenResty Showman 产品从一个简单的剧本文件自动生成的。

关于作者

章亦春是开源 OpenResty® 项目创始人兼 OpenResty Inc. 公司 CEO 和创始人。

章亦春(Github ID: agentzh),生于中国江苏,现定居美国湾区。他是中国早期开源技术和文化的倡导者和领军人物,曾供职于多家国际知名的高科技企业,如 Cloudflare、雅虎、阿里巴巴, 是 “边缘计算“、”动态追踪 “和 “机器编程 “的先驱,拥有超过 22 年的编程及 16 年的开源经验。作为拥有超过 4000 万全球域名用户的开源项目的领导者。他基于其 OpenResty® 开源项目打造的高科技企业 OpenResty Inc. 位于美国硅谷中心。其主打的两个产品 OpenResty XRay(利用动态追踪技术的非侵入式的故障剖析和排除工具)和 OpenResty Edge(最适合微服务和分布式流量的全能型网关软件),广受全球众多上市及大型企业青睐。在 OpenResty 以外,章亦春为多个开源项目贡献了累计超过百万行代码,其中包括,Linux 内核、Nginx、LuaJITGDBSystemTapLLVM、Perl 等,并编写过 60 多个开源软件库。

关注我们

如果您喜欢本文,欢迎关注我们 OpenResty Inc. 公司的博客网站 。也欢迎扫码关注我们的微信公众号:

我们的微信公众号

翻译

我们提供了英文版原文和中译版(本文) 。我们也欢迎读者提供其他语言的翻译版本,只要是全文翻译不带省略,我们都将会考虑采用,非常感谢!