OpenResty XRay がどのようにしてアプリケーションの問題特定と効率化を支援するかをご覧ください。

詳細はこちら LIVE DEMO

このチュートリアルでは、CentOS 8 で dnf を使用して OpenResty をインストールする方法をご紹介します。

スクリーンショット 1

このチュートリアルでは、新規インストールした CentOS 8 を使用します。

まず、openresty.org のウェブサイトで手順を確認することができます。

スクリーンショット

左側のサイドバーにあるインストールのリンクをクリックします。

スクリーンショット

そして、「バイナリパッケージ」セクションの下にある「公式ビルド済みパッケージ」のリンクをクリックします。

スクリーンショット

ここで見られるように、多くの異なる Linux ディストリビューションをサポートしています。

截图

CentOS のセクションまでスクロールダウンします。

スクリーンショット

yum リポジトリを有効にし、OpenResty の RPM パッケージをインストールするためのすべてのコマンドが見つかります。

CentOS 8 システムに戻り、まだインストールしていない場合は、標準の wget パッケージをインストールします。

sudo dnf -y install wget

截图 4

wget を使用して、ウェブサイトから openresty.repo ファイルをダウンロードします。

wget 'https://openresty.org/package/centos/openresty.repo'

截图 5

このファイルを yum リポジトリの設定ディレクトリに移動します。

sudo mv openresty.repo /etc/yum.repos.d/

截图 6

ここでは sudo が必要であることに注意してください。

yum インデックスデータベースを更新します。

sudo dnf check-update

截图 8

これで、メインの RPM パッケージである openresty をインストールする準備が整いました。

sudo dnf -y install openresty

截图 9

openresty 実行ファイルが利用可能かどうかを確認します。

which openresty

截图 10

この openresty 実行ファイルはシンボリックリンクにすぎません。

file `which openresty`

截图 11

そしてそのバージョンを確認します。

openresty -V

截图 12

このようにしてデフォルトの openresty サーバーを起動できます。

sudo systemctl start openresty

截图 13

nginx プロセスが起動して実行されているかどうかを確認します。

ps aux|grep nginx

截图 14

完璧です。

curl コマンドでデフォルトのホームページをテストします。

curl 127.0.0.1/

截图 16

素晴らしい、動作しています。

ただし、「resty」コマンドラインツールはまだインストールされていないことに注意してください。

which resty

截图 18

必要な場合は、同じリポジトリから openresty-resty RPM パッケージをインストールできます。

sudo dnf -y install openresty-resty

截图 19

これで利用可能になったはずです。

which resty
resty -e 'print("Hello Resty")'

截图 20

同様に、restydoc コマンドラインツールを使用したい場合は、openresty-doc パッケージをインストールする必要があります。

sudo dnf -y install openresty-doc

截图 21

これも利用可能になりました。試してみてください!

restydoc -s content_by_lua_file

また、OPM をインストールして、OpenResty コミュニティによって提供されるより多くの Lua モジュールをインストールすることもできます。

sudo dnf -y install openresty-opm

截图 23

James Hurst 氏が作成した lua-resty-http ライブラリをインストールしてみましょう。

sudo opm get pintsized/lua-resty-http

截图 24

「resty」ツールを使用してそれをロードしてみてください。

resty -e 'require "resty.http"'

截图 25

成功しました!

OpenResty にはデバッグビルドもあり、デバッグログとすべての内部アサーションが有効になっています。

sudo dnf -y install openresty-debug

截图 27

このデバッグバージョンの openresty を次のように呼び出すことができます。

which openresty-debug

截图 28

この openresty-debug 実行ファイルもシンボリックリンクです。

file `which openresty-debug`

截图 29

まだリリースビルドよりもはるかに遅いため、本番環境では使用しないでください。

さらに、Valgrind と Address Sanitizer を使用してメモリの問題をチェックする特別なビルドもあります。

sudo dnf list openresty-valgrind openresty-asan

截图 31

メモリの問題をデバッグする必要がある場合は、これらを試してみてください。これらについては、後のチュートリアルで取り上げる可能性があります。

OpenResty パッケージを最新バージョンにアップグレードするには、これらのコマンドを実行するだけです。

sudo dnf check-update
sudo dnf upgrade 'openresty*'

截图 33

openresty リポジトリで利用可能なすべてのパッケージを確認します。

dnf --disablerepo='*' --enablerepo="openresty" list available

截图 34

ここには多くのパッケージがあります。

これらすべての RPM パッケージの詳細なドキュメントは、openresty.org/en/rpm-packages.html のウェブページで見つけることができます。

截图

ユーザーが選択できる多くのパッケージがあります。

截图

著者について

章亦春(Zhang Yichun)は、オープンソースの OpenResty® プロジェクトの創始者であり、OpenResty Inc. の CEO および創業者です。

章亦春(GitHub ID: agentzh)は中国江蘇省生まれで、現在は米国ベイエリアに在住しております。彼は中国における初期のオープンソース技術と文化の提唱者およびリーダーの一人であり、Cloudflare、Yahoo!、Alibaba など、国際的に有名なハイテク企業に勤務した経験があります。「エッジコンピューティング」、「動的トレーシング」、「機械プログラミング」 の先駆者であり、22 年以上のプログラミング経験と 16 年以上のオープンソース経験を持っております。世界中で 4000 万以上のドメイン名を持つユーザーを抱えるオープンソースプロジェクトのリーダーとして、彼は OpenResty® オープンソースプロジェクトをベースに、米国シリコンバレーの中心部にハイテク企業 OpenResty Inc. を設立いたしました。同社の主力製品である OpenResty XRay動的トレーシング技術を利用した非侵襲的な障害分析および排除ツール)と OpenResty XRay(マイクロサービスおよび分散トラフィックに最適化された多機能ゲートウェイソフトウェア)は、世界中の多くの上場企業および大企業から高い評価を得ております。OpenResty 以外にも、章亦春は Linux カーネル、Nginx、LuaJITGDBSystemTapLLVM、Perl など、複数のオープンソースプロジェクトに累計 100 万行以上のコードを寄与し、60 以上のオープンソースソフトウェアライブラリを執筆しております。

翻訳

英語版の原文と日本語訳版(本文)をご用意しております。読者の皆様による他の言語への翻訳版も歓迎いたします。全文翻訳で省略がなければ、採用を検討させていただきます。心より感謝申し上げます!