0x00 Nginx 埋め込み Lua スクリプトには次の機能があります:
20,000 の同時接続
Lua スクリプトは Nignx 11 レベルのさまざまなレベルで役割を果たし、Ngnix の機能を拡張できます
Lua は非常に高速です ( 登録手順)
0x01 アプリケーションシナリオ
Webサーバー側でのリクエストフィルタリング処理(WAF、Anti CCなど)
0x02 簡単な設定プロセス
テスト環境 Ubuntu Server 14.04。 2 LTS
ダウンロードする必要があるいくつかのモジュール (インストール順序とエクスポート パスの問題に注意してください)
Nginx 1.7.4
LuaJIT-2.0.4 (ジャストイン) -タイムコンパイラ
Lua 用)
ngx_devel_kit( Nginx 開発 Kit)
echo-nginx-module( 詳細 Nginx 設定ファイルにシェル スタイルの機能を追加)
lua-nginx-module(Embed Lua のパワーを Nginx に組み込む)
0x03 luaJIT の lib と inc が環境変数に設定されていないため、考えられる問題、lua.h などが見つかりません
次のように設定する必要があります (実際のローカルパス) :
export LUAJIT_LIB=/usr/lib/lua
export LUAJIT_INC=/usr/local/include/luajit-2.0
cp /usr/local/include/luajit-
サービスが開始できない場合は、tail /var/log/syslog をチェックしてエラーを確認できます
nginx が開始できない場合は、tail /var/cache/nginx/error を確認できます.log
If nginx bin ファイルが生成されている場合は、nginx -V を使用して、設定ファイルが正しいかどうかを確認できます。 get install libssl-dev
ps: 特に、最新バージョンの Nginx は上記のモジュール インターフェイスをサポートしていない可能性があるので注意してください。 I Nginx 1.7.4 のインストール手順です。 0x02 にはインストール手順があるため、ここでは詳細には説明しません
nginx.conf ファイル (デフォルトのパス /etc/nginx/nginx.conf) を変更します:
nginx 設定をリロード
sudo /etc/nginx/sbin/nginx -s reload効果 :
/etc/ nginx/lua/hello.lua
/etc/nginx/lua/redis.lua
nginx.conf ファイルの追加:
hello.lua ファイルの内容:
ngx.header.content_type = "text/plain";
ngx.say("say hello from hello.lua");すべて追加されたロケーション コード:
次に、nginx をリロードして効果を確認します。
3. redis を使用します (3 番目に新しく追加された redis):
前提条件は、マシン上に既に redis-server が存在し、Ubuntu へのインストールは sudo apt-get install です。 redisサーバー
ngx.say (「hello の取得に失敗しました: "、エラー) return end