NGINX Plusは、高性能Webアプリケーションのデリバリーを可能にする強力なプラットフォームです。このアプリケーションデリバリープラットフォームが強力である理由の1つは、新しい機能をオープンソースベースで提供する開発者の大規模コミュニティの存在です。このコミュニティによって開発された新しい機能を、実行中のNGINX Plusインスタンスに動的にプラグインできるモジュールとして利用できます。
例えば、コミュニティから提供されたモジュール(さらにはNGINXが作成したモジュール)を利用して、ユーザーの場所をIPアドレスから特定して該当する言語のサイトに送信したり、画像サイズを変更して帯域幅を節約したり、Luaスクリプト(複雑なルーティングとセキュリティ処理が可能)を埋め込んだりすることができます。
NGINXは、NGINX Plusとの相互運用性のテストが完了した認定サードパーティモジュールのレポジトリを管理しています。モジュールをロードして実行中のNGINX Plusインスタンスに動的にプラグインする場合、NGINX Plusと選択したモジュールのどちらもNGINXチームによって完全サポートされていることになります。詳細なリストについては、動的モジュールを参照してください。
リストに記載されていないサードパーティのモジュールやカスタムモジュールをコンパイルし、実行中のNGINX Plusインスタンスに動的にロードすることもできます。具体的な手順については、NGINXのブログを参照してください。NGINX Plusでオンデマンドのプラグインが可能な機能

開発者は、NGINXの機能拡張に関するドキュメントを参照して独自のモジュールを作成することもできます。NGINXが公開しているAPIとその例がドキュメントに記載されています。
使ってみる
NGINX Plusリポジトリには、NGINXが開発した動的モジュールとコミュニティから提供されて承認されたモジュールの両方が登録されています。apt
やyum
などの標準パッケージ管理ツールを使用してアクセスし、インストールすることができます。
NGINX Plus認定モジュールは、作成元から配布されます。これらのモジュールにアクセスするには、[動的モジュール]ページで該当するモジュールをクリックし、[モジュールを取得]ボタンをクリックします。
-
パッケージ管理ツールを構成して、OSベンダーのディストリビューションではなく、NGINX Plusのリポジトリからパッケージを取得します。
-
基本nginx‑plusイメージをインストールします。Debianベースのシステムでは、以下のコマンドを使用します。
# apt-get update # apt-get install nginx-plus
-
動的にロードする各モジュールをインストールします。
-
認証モジュールでの手順については、ベンダーの指示に従ってください。
-
NGINX Plusのリポジトリのモジュールの場合、各モジュールに対して以下のコマンドを繰り返します。
module‑name
module-nameに指定する名前は、[動的モジュール]ページの該当するモジュールをクリックした場合に表示されるインストール手順に記載されています。
例えば、nginx-plus-module-njs
nginx-plus-module-njsは、NGINXのJavaScriptモジュールです。OSの制限により、一部のOSバージョンでモジュールを利用できない場合もあります。モジュールでサポートされているOSバージョンを表示するには、[動的モジュールページで該当するモジュールをクリックします。
# apt-get install module-name
-
-
/etc/nginx/nginx.confのメイン(トップレベル)コンテキストで、動的ロードが可能な各モジュールに
load_module
ディレクティブを追加します。この場合のモジュールのディレクトリは、/etc/nginx/modulesです。load_module modules/module-name.so;
-
新しい構成の構文が正しいことを確認し、NGINX Plusをリロードします。
# nginx -t && nginx -s reload
nginx.confの
load_module
ディレクティブで指定したモジュールが、NGINX Plusに動的にロードされます。