ターミナルで restydoc を使用して OpenResty のドキュメントを閲覧する
このチュートリアルでは、OpenResty の restydoc
コマンドラインツールを使用して、Nginx モジュール、Nginx 設定ディレクティブ、Lua API 関数、Lua C 関数、Lua モジュールなどの OpenResty ドキュメントを素早く検索する方法をご紹介します。restydoc
ツールは、当初 Perl の perldoc
ツールにインスピレーションを得て開発されました。
which restydoc
rpm -qf `which restydoc`
restydoc
ユーティリティは OpenResty 本体と共にリリースされています。Yum ベースのシステムでは、パッケージ名は openresty-doc
となっています。
Debian ベースのシステム(Ubuntu 20.04 など)では、パッケージ名は openresty-restydoc
です。
ssh ubuntu20-pkg
which restydoc
dpkg -S `which restydoc`
Nginx の標準ディレクティブである rewrite
のドキュメントは、以下のように検索できます。
restydoc -s rewrite
-s
オプションは「セクション」を意味することにご注意ください。
これは Nginx の公式ドキュメントから抽出されたものです。内部的には less
ツールを呼び出しています。
スペースキーを使用して次のページに移動できます。
q
キーで終了します。
または、Nginx の標準ディレクティブである listen
も検索できます。
restydoc -s listen
また、OpenResty の nginx モジュールディレクティブ(例:init_worker_by_lua
)も検索可能です。
restydoc -s init_worker_by_lua
標準の Lua 関数も検索できます。
restydoc -s string.find
これは公式の Lua 5.1 リファレンスマニュアルから抽出されたものです。
標準の Lua の C API 関数も検索できます。
restydoc -s lua_gc
または、LuaJIT の Lua API 拡張機能も検索可能です。
restydoc -s ffi.cdef
さらに、OpenResty 独自の Lua API 拡張機能も検索できます。
restydoc -s ngx.re.match
上記のすべての restydoc
コマンドで -s
オプションを指定しています。これは、表示されるドキュメントがより大きなドキュメントの一部だからです。
Nginx モジュール全体のような大規模なドキュメントも閲覧できます。
restydoc ngx_http_rewrite_module
ここでは -s
オプションを指定しません。
予想通り、テキストはかなり長くなります。
または、Lua モジュール全体も閲覧できます。
restydoc resty.redis
これは OpenResty に付属の resty.redis
ライブラリです。
または、Lua ライブラリ名を指定することもできます。
restydoc lua-resty-lrucache
restydoc
のすべてのオプションを確認するには、-h
オプションを使用してください。
restydoc -h
以上が、本日ご紹介したい内容です。このツールが皆様のお役に立てば幸いです。
著者について
章亦春(Zhang Yichun)は、オープンソースの OpenResty® プロジェクトの創始者であり、OpenResty Inc. の CEO および創業者です。
章亦春(GitHub ID: agentzh)は中国江蘇省生まれで、現在は米国ベイエリアに在住しております。彼は中国における初期のオープンソース技術と文化の提唱者およびリーダーの一人であり、Cloudflare、Yahoo!、Alibaba など、国際的に有名なハイテク企業に勤務した経験があります。「エッジコンピューティング」、「動的トレーシング」、「機械プログラミング」 の先駆者であり、22 年以上のプログラミング経験と 16 年以上のオープンソース経験を持っております。世界中で 4000 万以上のドメイン名を持つユーザーを抱えるオープンソースプロジェクトのリーダーとして、彼は OpenResty® オープンソースプロジェクトをベースに、米国シリコンバレーの中心部にハイテク企業 OpenResty Inc. を設立いたしました。同社の主力製品である OpenResty XRay動的トレーシング技術を利用した非侵襲的な障害分析および排除ツール)と OpenResty XRay(マイクロサービスおよび分散トラフィックに最適化された多機能
翻訳
英語版の原文と日本語訳版(本文)をご用意しております。読者の皆様による他の言語への翻訳版も歓迎いたします。全文翻訳で省略がなければ、採用を検討させていただきます。心より感謝申し上げます!