毎度、ググっても出てこない小ネタを取り扱っております。
本記事は個人的な見解であり、筆者の所属するいかなる団体にも関係ございません。
0. はじめに
某社内のサービスでnginxを使っているのですが、Nginxのperlモジュールのおかげでログローテーションする度にnginxが落ちて困ったのでperlモジュールを削除したのですが、そもそもnginxのモジュールで必要かどうかをよく調べもせずにデフォルトのまま使っていました。
しかし、どこにもモジュールについて何が何をしているかをまとめているページがなかったので、ついカッとなって自分でリストを作りました。後悔はしていません。(間違いがあればご指摘ください。大歓迎です)
参考にした情報リンク
1. ダイナミックモジュール一覧
nginxのパッケージでデフォルトでインストールされるダイナミックモジュール
nginxモジュール有効ファイル | 機能 | 要不要 |
---|---|---|
10-mod-http-ndk.conf | よく分からないのですが、Lua等の拡張機能を使うときに必要なモジュールのようです。ndkはNginxDevelopmentKitの略かと。 | LuaやPerlモジュールを使わないなら不要だと思うが、その他必要としているモジュールもあるかもしれない |
50-mod-http-auth-pam.conf | BASIC認証のためのモジュール | BASIC認証しないなら不要 |
50-mod-http-cache-purge.conf | fastcgi,scgi,proxy,uwsgiのキャッシュを削除するモジュール | まあ、あまり要らないはず |
50-mod-http-dav-ext.conf | WebDAVプロトコルに拡張メソッド(PROPFIND,OPTIONS,LOCK,UNLOCK )を追加するモジュール | 普通は不要 |
50-mod-http-echo.conf | echoメソッドを追加するモジュール | 普通は不要 |
50-mod-http-fancyindex.conf | autoindexをもっと高機能にして便利にしたもの | 普通は不要 |
50-mod-http-geoip.conf | GeoIPで国別にアクセス制限するもの | 普通は不要 |
50-mod-http-geoip2.conf | GeoIPで国別にアクセス制限するもの | 普通は不要 |
50-mod-http-headers-more-filter.conf | ヘッダー情報を自由に書き換えるモジュール | 普通は不要 |
50-mod-http-image-filter.conf | 画像をリサイズしたり回転させたり変換させたりするモジュール | 普通は不要 |
50-mod-http-lua.conf | Lua言語を使ってNginxを拡張するモジュール | 普通は不要 |
50-mod-http-subs-filter.conf | 出力と入力の両方を変換できるモジュール | 普通は不要 |
50-mod-http-uploadprogress.conf | ファイルのアップロードの進行状況をアップストリームサーバーに送信するモジュール | 普通は不要 |
50-mod-http-upstream-fair.conf | バックエンドに最小稼働のサーバーに割り振るモジュール | 複数のバックエンドを使う場合は必要 |
50-mod-http-xslt-filter.conf | XSLTスタイルシートを使用してXML応答を変換するフィルター | 普通は不要 |
50-mod-mail.conf | 各種メールプロトコルを扱うモジュール | 普通は不要 |
50-mod-nchan.conf | nginxをPub/Subサーバーとして使うモジュール | 普通は不要 |
50-mod-stream.conf | streamディレクティブのモジュール | 普通は不要 |
2. 結果
結果的にほとんど無効でも問題ないという調査結果になりました。