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

詳細はこちら LIVE DEMO

本日は、Ubuntu 20.04 で apt-get を使用して OpenResty をインストールする方法をご紹介いたします。

スクリーンショット 1

このビデオでは、新規インストールした Ubuntu 20.04 を使用します。

openresty.org のウェブサイトで関連する説明を見つけることができます。ここでは、APT リポジトリを有効にし、OpenResty の Deb パッケージをインストールするためのすべてのコマンドを確認できます。

截图 3

Ubuntu 20.04 システムに戻りましょう。ローカルの 80 ポートをリッスンしているサービスがある場合は、まずそれを無効にする必要があります。

sudo lsof -i:80

截图 4

ここでは、そのようなサービスは存在しません。

まず、システム時刻が正確であることを確認します。

sudo ntpdate -v time.google.com

截图 6

お近くの他の NTP サーバーを使用することをお勧めします。

必要なコンポーネントをインストールするために、GPG 公開鍵を追加する必要があります。これらは後で削除することができます。

sudo apt-get -y install --no-install-recommends wget gnupg ca-certificates

截图 8

次に、GPG キーをインポートします。

wget -O - https://openresty.org/package/pubkey.gpg | sudo apt-key add -

截图 9

その後、公式 APT リポジトリを追加します。

echo "deb http://openresty.org/package/ubuntu $(lsb_release -sc) main" > openresty.list
sudo cp openresty.list /etc/apt/sources.list.d/

截图 10

これは x86_64 または amd64 システム用であることにご注意ください。

Aarch64 または ARM64 システムの場合は、代わりにこの URL を使用してください。

echo "deb http://openresty.org/package/arm64/ubuntu $(lsb_release -sc) main"

截图 12

次に、APT インデックスを更新します。

sudo apt-get update

截图 13

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

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

sudo apt-get -y install --no-install-recommends openresty

截图 15

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

which openresty

截图 16

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

file `which openresty`

截图 17

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

openresty -V

截图 18

デフォルトの openresty サービスを以下のように起動できます。

sudo systemctl start openresty

截图 19

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

ps aux|grep nginx

截图 20

完璧です。

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

curl 127.0.0.1/

截图 22

はい、正常に動作しています。

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

which resty

截图 24

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

sudo apt-get -y install openresty-resty

截图 25

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

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

截图 26

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

sudo apt-get -y install openresty-restydoc

截图 27

これも利用可能になりました。

restydoc -s content_by_lua_file

截图 28

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

sudo apt-get -y install openresty-opm

截图 29

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

sudo opm get pintsized/lua-resty-http

截图 30

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

resty -e 'require "resty.http"'

截图 31

成功しました!

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

sudo apt-get -y install openresty-debug

截图 33

このデバッグ版の openresty は以下のように呼び出すことができます。

which openresty-debug

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

file `which openresty-debug`

截图 35

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

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

sudo apt list openresty-valgrind

截图 37

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

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

sudo apt-get update
sudo apt-get --only-upgrade -y install 'openresty*'

截图 39

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

apt list 'openresty*' | less

截图 40

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

これらの Deb パッケージの詳細なドキュメントは、https://openresty.org/en/deb-packages.html で見つけることができます。ユーザーが選択できる多くのパッケージがあります。

スクリーンショット 42

本日はここまでです。お楽しみください!

著者について

章亦春(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 以上のオープンソースソフトウェアライブラリを執筆しております。

翻訳

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