Nginx に lua-nginx-module モジュールをインストールする方法

Nginx に lua-nginx-module モジュールをインストールする方法

ngx_lua_module は、lua パーサーを nginx に埋め込み、lua 言語で記述された Web バックエンド スクリプトを解析して実行する nginx http モジュールです。

機能は非常に優れているので、Baiduで確認できます。ここでは主に、Nginxでlua-nginx-moduleモジュールをインストールする方法を説明します。

もちろん、これまで Nginx をインストールしたことがなく、インストールが面倒だと感じる場合は、openresty を直接ダウンロードして、すばやく簡単にインストールできます。http://openresty.org/cn/installation.html (Alibaba の大物、Zhang Yichun 氏の作品です。感心します~~~)

1. LuaJIT 2.1 をダウンロードしてインストールします (2.0 と 2.1 の両方がサポートされていますが、公式には 2.1 が推奨されています): http://luajit.org/download.html

/usr/local/src をコピーします
http://luajit.org/download/LuaJIT-2.1.0-beta2.tar.gz をダウンロードしてください
tar zxf LuaJIT-2.1.0-beta2.tar.gz
LuaJIT-2.1.0-beta2 をCDに追加
PREFIX=/usr/local/luajit とする
PREFIX=/usr/local/luajit をインストールします

2. ngx_devel_kit (NDK) モジュールをダウンロードします: https://github.com/simpl/ngx_devel_kit/tags、インストールは必要ありません

/usr/local/src をコピーします
https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar.gz をダウンロードしてください
tar -xzvf v0.2.19.tar.gz

3. 最新の lua-nginx-module モジュールをダウンロードします: https://github.com/openresty/lua-nginx-module/tags、インストールは必要ありません

/usr/local/src をコピーします
https://github.com/openresty/lua-nginx-module/archive/v0.10.2.tar.gz を取得します。
tar -xzvf v0.10.2.tar.gz

4.nginx -Vでコンパイルされた設定を表示する

nginx -V

著者の構成は次のとおりです。

次のようにコードをコピーします
--prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-ipv6 --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-openssl=../openssl-1.0.2h --with-pcre=../pcre-8.38 --with-pcre-jit --with-ld-opt=-ljemalloc --with-ld-opt=-Wl,-rpath,/usr/local/luajit/lib --add-module=/usr/local/src/ngx_devel_kit-0.2.19 --add-module=/usr/local/src/lua-nginx-module-0.10.2

5. 以前に nginx がインストールされていた解凍されたディレクトリに入り、再コンパイルしてインストールします (nginx -V で取得した構成の下に、ngx_devel_kit-0.2.19 と ua-nginx-module-0.10.2 のディレクトリを追加します)。最終的な構成は次のようになります。

環境変数の設定

LUAJIT_LIB=/usr/local/luajit/lib をエクスポートします。
LUAJIT_INC=/usr/local/luajit/include/luajit-2.1 をエクスポートします。

次のようにコードをコピーします
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-ipv6 --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-openssl=../openssl-1.0.2h --with-pcre=../pcre-8.38 --with-pcre-jit --with-ld-opt='-ljemalloc' --with-ld-opt="-Wl,-rpath,/usr/local/luajit/lib" --add-module=/usr/local/src/ngx_devel_kit-0.2.19 --add-module=/usr/local/src/lua-nginx-module-0.10.2

6. コンパイルしてインストールする

-j2 を実行します
インストールする

7. コンパイルが成功したかどうかを確認する

/usr/local/nginx/conf/nginx.conf に次のコードを追加します。

場所 /hello_lua { 
   デフォルトタイプ 'text/plain'; 
   content_by_lua 'ngx.say("hello, lua")'; 
}

nginxを再起動します。

サービス nginx を再起動

10.211.55.3/hello_lua にアクセスすると、「hello, lua」と表示され、インストールが成功したことが示されます。

こんにちは、ルア

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Lua ゲーム開発チュートリアルにおけるタイムゾーンの問題の詳細な説明
  • さまざまなオペレーティングシステムでの Lua 開発環境設定チュートリアル
  • Lua 開発における MVC フレームワークのシンプルなアプリケーション
  • Nginx+Lua開発環境をインストールする
  • Centos7 に Nginx 統合 Lua サンプル コードをインストール
  • Cocos2dx+luaで消しゴム機能を実現
  • Lua における 3 つのループ文の使用法の説明
  • Lua の変数と代入方法
  • Luaコルーチンの紹介と利点と欠点
  • LuvitはNode.jsのようなLuaアプリケーションを作成します

<<:  Vue3 コンポジション API の紹介

>>:  Win2008 R2 mysql 5.5 zip 形式 mysql のインストールと設定

推薦する

JS ES の新機能: 拡張演算子の紹介

1. スプレッド演算子スプレッド演算子は 3 つのドット ... で、複数の引数 (関数呼び出しなど...

Linux の EXT シリーズファイルシステムフォーマットの詳細な説明

Linux ファイルシステム一般的なハードディスクは上図のとおりです。各ディスクは複数のトラックに分...

ミニプログラムにより、製品属性の選択や仕様の選択が可能

この記事では、ミニプログラムで製品属性選択または仕様選択を実装するための具体的なコードを参考までに共...

ページ リファクタリング スキル - Javascript、CSS

JS、CSSについてCS: ...上部のスタイルシートCSS式を避ける外部JS、CSSの使用JSと...

MySQL データ型の選択原則

目次小さいけれど美しいシンプルにNULL値を避けるデータタイプを選択する手順データ型の紹介1. 文字...

el-table ヘッダーでテキストを折り返す 3 つの方法の詳細な説明

目次問題の説明レンダリング3種類のコード要約する問題の説明通常、表のヘッダーは折り返されませんが、ビ...

MySQL における引用符とバックティックの違いと使い方の詳細な説明

序文そこでこのブログを書きました。このブログでは大物の記事からいくつかの知識も推奨しています。侵害が...

MySQLのデッドロックとログに関する詳細な説明

最近、MySQL オンラインでいくつかのデータ異常が発生しましたが、すべて早朝に発生しました。ビジネ...

jsはカスタムドロップダウンボックスを実装します

この記事の例では、カスタムドロップダウンボックスを実装するためのjsの具体的なコードを参考までに共有...

MySQLの日付文字列タイムスタンプ変換の詳細な説明

時刻、文字列、タイムスタンプ間の変換は、日常生活でよく使用されます。よく使用されますが、私は使用する...

MySQL での mysqladmin 日常管理コマンドの概要 (必読)

mysqladmin ツールの使用形式は次のとおりです。 mysqladmin [オプション] コ...

Ubuntu 15.04 は MySQL リモート ポート 3306 を開きます

Ubuntu 15.04 は MySQL リモート ポート 3306 を開きます。以下の操作はすべて...

高さ:100% が機能しないのはなぜですか?

高さ:100% が機能しないのはなぜですか?この知識は不人気ではありませんが、使用する際には混乱する...

Linuxシステムにmsfをインストールするプロセスの詳細な説明

または、インストールプロセスを自分で書き留めてください。私のサーバーシステムはAliyun Linu...

Javascriptでビルダーパターンを実装する方法

概要ビルダー パターンは比較的単純なデザイン パターンであり、作成パターンに属します。定義: 複雑な...