モジュール

nginx consists of modules which are controlled by directives specified in the configuration file.

http://nginx.org/en/docs/beginners_guide.html#conf_structureより引用

nginxの初心者ガイドに上記一文で定義されいているように、nginxはモジュールから構成されます。
設定ファイルにモジュール別のディレクティブを設定する事でnginxを制御します。

nginxはC言語で開発されています。C言語におけるモジュールとは、機能別に分割された関数を意味します。
巨大なソースをそれぞれ何かに特化した機能に分割されたプログララムの纏まりがモジュールといってよいでしょう。
nginxではモジュールの利用可否でモジュールに属するディレクティブの必要可否が決まります。
まずは、nginxのモジュールがどのようなものがあるかをざっくり見ていきましょう。

※.2017/06/02時点のhttp://nginx.org/en/docs/を起点とした情報を1次情報としています。
NGINX Plus 及び NGINXは、日進月歩開発されているので最新のモジュールの情報については、本家サイトを常にご確認お願い致します。

モジュール一覧

各モジュールに属する設定に入る前にnginxが提供しているOSS版のモジュールの一覧が以下になります。
nginxがどのモジュールで構成されているかは、nginx -t で確認して下さい。
補足:テーブルのカラム名をクリックするとソートされます。

2017年6月時点NGINX PLUSの開発は日々行われています。
NGINX Plus購入を決めている会社は特に気にする必要がありませんが、OSS版でロードバランサー(L7)、動画のストリーミング配信などの場合には、 「PLUSのみ」項目でソートし、どのような機能がOSS版ではできないのかマニュアルベースで事前に確認する必要があります。

名前 分類 PLUSのみ 概要
ngx_http_core_module http webサーバーの主モジュール。
http、serverコンテキストなどwebに関係する主要な設定があります。
ngx_http_access_module http 特定のクライアントアドレスへのアクセスを制限します。
ngx_http_addition_module http HTTPレスポンスの前後にテキストを追加するフィルター。
ngx_http_auth_basic_module http HTTP基本認証プロトコルを使用してユーザー名とパスワードを検証することにより、リソースへのアクセスを制限します。
ngx_http_auth_jwt_module http JWT(Json Web Token)用モジュール。
JWT:JSONの送受信を安全に行うためJSONを暗号化した方式
ngx_http_auth_request_module http サブリクエストの結果に基づくクライアントの認証用モジュール。
ngx_http_autoindex_module http スラッシュ文字( '/')で終わる要求を処理し、ディレクトリリストを生成します。
ngx_http_browser_module http 値が "User-Agent"リクエストヘッダーフィールドの値に依存する変数を作成します。
ngx_http_charset_module http 指定された文字セット(charset)を "Content-Type"レスポンスヘッダーフィールド
に追加し、ある文字セットから別の文字セットに変換できます。
ngx_http_dav_module http WebDAVプロトコルによるファイル管理の自動化を行います。
ngx_http_empty_gif_module http 単一ピクセル透明GIFを発行します。
ngx_http_f4f_module http サーバーサイドのHTTP Dynamic Streaming(HDS)用モジュール
ngx_http_fastcgi_module http ※.1 リクエストをFastCGIサーバーに渡します。
※.1:商用のディレクティブ(purger、purger_files、purger_threshold、purger_sleep)があり。
ngx_http_flv_module http Flash Video(FLV)ファイルの疑似ストリーミング(サーバーサイド)のサポートします。
ngx_http_geo_module http クライアントのIPアドレスに応じて値を持つ変数を作成します。
ngx_http_geoip_module http プリコンパイルされたMaxMindデータベースを使用して、クライアントIPアドレスに応じた値を持つ変数を作成します。
ngx_http_gunzip_module http "gzip"エンコーディング方式をサポートしていないクライアントのレスポンスを "Content-Encoding:gzip"で解凍するフィルタです。
ngx_http_gzip_module http gzipメソッドを使用してレスポンスを圧縮し、送信データのサイズを半減させます。
ngx_http_gzip_static_module http 通常のファイルの代わりにファイル名拡張子が.gzのプリコンパイルされたファイルを送信することができます。
ngx_http_headers_module http ExpiresおよびCache-Controlヘッダーフィールドと任意のフィールドをレスポンスヘッダーに追加できます
ngx_http_hls_module http MP4,MOVメディアファイルに対するサーバー側のHTTP Live Streaming(HLS)をサポートします。
ngx_http_image_filter_module http JPEG、GIF、PNG、WebP形式の画像を変換するフィルタです。
ngx_http_index_module http スラッシュ文字( '/')で終わるリクエストを処理します。
ngx_http_limit_conn_module http 定義されたキーごとの接続数、特に1つのIPアドレスからの接続数を制限します。
ngx_http_limit_req_module http 定義されたキー、特に、単一のIPアドレスからの要求の処理速度に対する要求処理速度を制限します。
ngx_http_log_module http 要求された形式でリクエストをログに書き込みます。
ngx_http_map_module http 値が他の変数の値に依存する変数を作成します。
ngx_http_memcached_module http memcachedサーバーからレスポンスを取得します。
ngx_http_mp4_module http ※.2 MP4ファイルに対する擬似ストリーミング(サーバサイド)をサポートします。
※.2:1部ディレクティブ(mp4_limit_rate、mp4_limit_rate_after)が商用
ngx_http_perl_module http Perlでlocationと変数ハンドラを実装し、Perl呼び出しをSSIに挿入するために使用されます。
ngx_http_proxy_module http ※.3 リクエストを別のサーバーに渡します。 ※.3:1部ディレクティブ(proxy_cache_revalidate 、proxy cache use stale、)が商用
ngx_http_random_index_module http スラッシュ文字( '/')で終わるリクエストを処理し、インデックスファイルとして機能するディレクトリ内のランダムなファイルを選択します。
ngx_http_realip_module http クライアントアドレスとオプションのポートを、指定されたヘッダフィールドで送信されたものに変更するために使用されます
ngx_http_referer_module http Refererヘッダーフィールドに無効な値を持つリクエストのサイトへのアクセスをブロックします。
ngx_http_rewrite_module http PCRE正規表現、リターンリダイレクト、条件付き選択構成を使用してリクエストURIを変更するために使用されます。
ngx_http_scgi_module http ※.4 リクエストをSCGIサーバーに渡します。
※.4:scgi_cache_purgeの一部機能が商用
ngx_http_secure_link_module http 要求されたリンクの信頼性をチェックし、不正アクセスからリソースを保護し、リンクの存続期間を制限するために使用されます
ngx_http_session_log_module http セッションのログを記録します。
ngx_http_slice_module http リクエストをサブリクエストに分割するフィルタであり、それぞれが一定範囲のレスポンスを返します。
フィルタは、より大きな応答のより効果的なキャッシングを提供します。
ngx_http_split_clients_module http A / Bテストに適した変数を作成します。これは、スプリットテストとも呼ばれます。
ngx_http_ssi_module http SSI(Server Side Includes)コマンドを通過するレスポンスを処理するフィルタです
ngx_http_ssl_module http HTTPSに必要なサポートを提供します。
ngx_http_status_module http さまざまなステータス情報へのアクセスを提供します。
ngx_http_stub_status_module http 基本的なステータス情報へのアクセスを提供します。
ngx_http_sub_module http 特定の文字列を別の文字列に置き換えることによってレスポンスを変更するフィルタです。
ngx_http_upstream_module http ※.5 ハッシュロードバランシング方式を有効にします。 ※5. upstream dyanamic機能が商用。max_conn,resolve,route,service,slow_start,zone,
state,ntlm,least time,health check,match,queue,learnの1部が商用へ
ngx_http_upstream_conf_module http nginxを再起動する必要なく、簡単なHTTPインタフェースを使用してオンストリームのサーバーグループを構成できます。
ngx_http_userid_module http クライアントの識別に適したCookieを設定します。
ngx_http_uwsgi_module http ※.6 リクエストをuwsgiサーバーに渡します。
※.6:uwsgi_cache_pathの1部パラメータが商用
ngx_http_v2_module http HTTP/2 のポートを提供します。
ngx_http_xslt_module http 1つ以上のXSLTスタイルシートを使用してXMLレスポンスを変換するフィルタです。
ngx_mail_core_module mail メールの送受信を行う主モジュール。--with-mail設定パラメータで有効にする必要があります。
ngx_mail_auth_http_module mail メールの認証処理用のモジュール
ngx_mail_proxy_module mail mailサービスのproxy機能用モジュール
ngx_mail_ssl_module mail メールプロキシサーバーがSSL / TLSプロトコルで動作するために必要なサポートを提供します。
ngx_mail_imap_module mail IMAPクライアント用モジュール
ngx_mail_pop3_module mail POP3クライアント用モジュール
ngx_mail_smtp_module mail SMTPクライアント用モジュール
ngx_stream_core_module stream ※.7 動画のストリーム配信の主要モジュール
※.7:resolver,resolver_timeoutのパラメータの一部が商用
ngx_stream_access_module stream 特定のクライアントからのアクセスを制限するモジュール
ngx_stream_geo_module stream クライアントIPアドレスに依存する値を持つ変数を作成します。
ngx_stream_geoip_module stream プリコンパイルされたMaxMindデータベースを使用して、クライアントIPアドレスに依存する値を持つ変数を作成します。
ngx_stream_limit_conn_module stream 定義されたキーごとの接続数、特に1つのIPアドレスからの接続数を制限します。
ngx_stream_log_module stream ストリーム配信の接続ユーザのセッションログを記録します。
ngx_stream_map_module stream 値が他の変数の値に依存する変数を作成します。
ngx_stream_proxy_module stream TCP、UDP、およびUNIXドメインソケットを介してデータストリームをプロキシすることができます。
ngx_stream_realip_module stream クライアントアドレスとポートをPROXYプロトコルヘッダで送信されたものに変更するために使用されます。
ngx_stream_return_module stream 指定された値をクライアントに送信してから接続を閉じることができます。
ngx_stream_split_clients_module stream スプリットテストとも呼ばれるA / Bテストに適した変数を作成します
ngx_stream_ssl_module stream ストリームプロキシサーバがSSL / TLSプロトコルで動作するために必要なサポートを提供します。
ngx_stream_ssl_preread_module stream SSL / TLSを終了することなくClientHelloメッセージから情報を抽出することができます
ngx_stream_upstream_module stream ※.8 proxy passディレクティブによって参照できるサーバのグループを定義するために使用されます。
※.8:upstream dynamic,max_conns,resolve,service,slow_statかつ
zone,least_time,udp,matchの一部,state,health_check_timeoutが商用
ngx_google_perftools_module google Google Performance Toolsを使用してnginxワーカープロセスのプロファイリングを有効にします。このモジュールは、nginx開発者を対象としています。