Stevenの答えはキーポイントと各フレーバーが何であるかについての非常に基本的な要約に触れていますが、私はパッケージングにかなり取り組んでおり、それぞれが良い答えを得るために絶対に重要です。基本的な説明は、比較に対してあまり正義を行いません。(また、私の古いブログを引用してスティーブンを称賛します(そして、私を「メンテナー」と呼びさえします。私は新しいブログにnginx-is-coming-to-main投稿を移植するつもりでしたが、機会がありませんでした。 )
また、NGINX Webサーバーの最新パッケージは、ほぼ完全にDebianに基づいて、私が管理しているNGINX PPAで利用できることに注意してください。(安定したPPA(この投稿の時点で1.6.2); メインラインのPPA(この投稿の時点で1.7.7、2014年12月4日に着陸する予定の1.7.8))
異なるフレーバーnginx
:
異なるフレーバーはすべての同じバージョンですnginx
が、フレーバーは異なる機能セット(for nginx-extras
)を提供するためにDebianパッケージメンテナーによって決定されました。WebサーバーはWebサイトで使用される傾向があります。ある機能が別の機能よりも選択された正確な理由は私にはわかりませんが、IRCのDebianメンテナーの一人との補足的な議論で、各バリアントは別のユースケース- light
サイトホスティングの最小限の要件を満たす軽量な機能full
セット、より重い追加機能を含まないより完全な機能セット、およびextras
Ubuntuに含めることができるパッケージに含まれるほとんどすべてのもの。 naxsi
、15.04より前は、naxsiはかなりリソースを集中的に使用する可能性があるため、Naxsiバリアントは具体的には最小限のモジュールのみで構成されていました。
おそらく、私が現在ログを投稿できないプライベートな会話で、定期的にアップストリームNGINXと調整しているNGINXのDebianメンテナーの一人によると、NGINX 2.xはロード可能なモジュールをサポートする予定です。その場合には、light
、full
、およびextras
各モジュールを含む個々のパッケージを呼びメタパッケージとなるであろう。しかし、これが事実になる日付は不明であり、どのモジュールが実際にこれを行うことができるかは不明です。
現在のところ、nginx
仮想パッケージは利用可能なバージョンの1つをインストールするように設計されています。デフォルトでnginx-core
は、メインにあるようnginx-core
に、仮想パッケージで最初に表示されインストールが試行されるのは、個人がより多く使用する場合に最適です。(ただし、nginx
パッケージはのいずれかのフレーバーに依存することができnginx
、主に特定のフレーバー設定を必要としない人にとってインストールを少し簡単にするためにあります)
各バリアントで使用可能な特定のモジュールの詳細な内訳(Vivid debian/control
ファイルおよびTrusty debian/control
ファイルに基づいて(Vividで Naxsiパッケージが削除されたため))は、以下で利用できます。 これはUbuntuの最新の変更を反映していないことに注意してください。更新された正確な情報を確認するには、それらのパッケージの説明を参照する必要があります。
nginx-core
14.04の時点で、Ubuntuリポジトリのメインセクションにある唯一のフレーバーであり、Ubuntuリポジトリにのみ存在します(PPAやDebianには含まれず、Debianには含まれません)。実質的にnginx-full
フレーバーと同じですが、サードパーティのモジュールは含まれていません。使用の背後にある理由nginx-full
このバリアントのベースは、サードパーティのモジュールを同時に排除しながら、ビルドされたバイナリに比較的本格的なコアモジュールのセットを提供することでした。そのため、セキュリティチームがコードをレビューし、サードパーティのモジュールには、nginx-tarball-includedほど適切にサポートされていないさまざまなコーディングスタイルがあることがわかったため、サードパーティのモジュールは含まれていません。モジュール(これは、メインインクルージョンリクエスト/レポートバグで詳細に説明されています。これには、ディスカッションポイントが含まれ、Ubuntu Mainに含まれる可能性のあるものに関するさらなるレビューディスカッションが含まれますnginx
)。ここで有効になっているモジュールの完全なリストはパッケージの説明にあります。これについては、ここで詳しく説明しました。
標準HTTPモジュール:コア、アクセス、認証基本、自動インデックス、ブラウザー、文字セット、空のGIF、FastCGI、Geo、Gzip、ヘッダー、インデックス、制限リクエスト、制限ゾーン、ログ、マップ、Memcached、プロキシ、リファラー、書き換え、SCGI 、分割クライアント、SSI、アップストリーム、ユーザーID、UWSGI。
オプションのHTTPモジュール:追加、デバッグ、GeoIP、Gzip事前圧縮、HTTPサブ、画像フィルター、IPv6、実IP、Spdy、SSL、スタブステータス、置換、WebDAV、XSLT。
メールモジュール:メールコア、IMAP、POP3、SMTP、SSL。
nginx-light
nginx
利用できる最も軽い味です。これはユニバースリポジトリにあり、それを使用可能にする必要があります。-core
またはで利用可能な大量のモジュールを有効にしません-full
。また、サードパーティのモジュールも含まれています。使用可能なモジュールは次のとおりです。
標準HTTPモジュール:コア、アクセス、認証基本、自動インデックス、文字セット、空GIF、FastCGI、Gzip、ヘッダー、インデックス、ログ、マップ、プロキシ、書き換え、アップストリーム。
オプションのHTTPモジュール:認証要求、デバッグ、Gzip事前圧縮、IPv6、リアルIP、SSL、スタブステータス。
サードパーティモジュール:エコー。
nginx-full
機能が豊富なnginx
パッケージのフレーバーの1つです。light
対応するものと同様に、Universeリポジトリにあります。from-nginxソースtarballの標準およびオプションのコアインクルードモジュールのほとんどと、nginx Webサーバーの機能を拡張するために設計されたいくつかのサードパーティモジュールを有効にします。モジュールは次のとおりです。
標準HTTPモジュール:コア、アクセス、認証基本、自動インデックス、ブラウザー、文字セット、空のGIF、FastCGI、Geo、Gzip、ヘッダー、インデックス、制限リクエスト、制限ゾーン、ログ、マップ、Memcached、プロキシ、リファラー、書き換え、SCGI 、分割クライアント、SSI、アップストリーム、ユーザーID、UWSGI。
オプションのHTTPモジュール:追加、認証要求、デバッグ、GeoIP、Gzip事前圧縮、HTTPサブ、画像フィルター、IPv6、実IP、Spdy、SSL、スタブステータス、置換、WebDAV、XSLT。
メールモジュール:メールコア、IMAP、POP3、SMTP、SSL。
サードパーティモジュール:認証PAM、DAV Ext、エコー、HTTP置換フィルター、アップストリームフェアキュー。
nginx-extras
nginx
パッケージの最も機能豊富なフレーバーです。そして、そのようにfull
し、light
兄弟、それはあまりにも宇宙のリポジトリです。すべてのモジュールを有効にしますnginx-full
が、追加モジュール(Perlモジュールなど)、さらにnginx Webサーバーの機能をさらに拡張するために設計された多くのサードパーティモジュールも含まれます。その完全なモジュールリストは以下のとおりです。
標準HTTPモジュール:コア、アクセス、認証基本、自動インデックス、ブラウザー、文字セット、空のGIF、FastCGI、Geo、Gzip、ヘッダー、インデックス、制限リクエスト、制限ゾーン、ログ、マップ、Memcached、プロキシ、リファラー、書き換え、SCGI 、分割クライアント、SSI、アップストリーム、ユーザーID、UWSGI。
オプションのHTTPモジュール:追加、認証要求、デバッグ、埋め込みPerl、FLV、GeoIP、Gzip事前圧縮、画像フィルター、IPv6、MP4、ランダムインデックス、リアルIP、セキュアリンク、Spdy、SSL、スタブステータス、置換、WebDAV、XSLT。
メールモジュール:メールコア、IMAP、POP3、SMTP、SSL。
サードパーティモジュール:認証PAM、Chunkin、DAV Ext、エコー、埋め込みLua、ファンシーインデックス、HttpHeadersMore、HTTP置換フィルター、httpプッシュ、Nginx開発キット、アップロードの進行状況、アップストリームフェアキュー。
nginx-naxsi
Naxsi Web Application Firewallモジュールが利用可能なnginxのバリアントです。これもユニバースにありますが、このフレーバーはDebianメンテナーによってサポートされなくなり、15.04リリースでUbuntuから完全に削除されます。 Naxsi WAFモジュールに加えて、それはよりもはるかに軽いモジュールのセットも含んでいますnginx-full
。モジュールの完全なリストは以下のとおりです。
標準HTTPモジュール:コア、アクセス、認証基本、自動インデックス、ブラウザー、文字セット、コア、空のGIF、FastCGI、Geo、Gzip、ヘッダー、インデックス、制限リクエスト、制限ゾーン、ログ、マップ、Memcached、プロキシ、リファラー、書き換え、スプリットクライアント、SSI、アップストリーム、ユーザーID。
オプションのHTTPモジュール:デバッグ、IPv6、実IP、SSL、スタブステータス。
サードパーティモジュール:Naxsi、キャッシュパージ、アップストリームフェア。
フレーバー間のリソース使用量
のさまざまなフレーバーで実行されたベンチマークを認識していませんがnginx
、使用するバージョンの機能が有効にnginx
なればなるほど、より多くのリソースが使用されると考えるのが一般的です。
ただし、より多くのモジュールが有効になっているメモリホールのようなものになる可能性のあるApacheとは異なりnginx
、モジュールが有効になっている場合、Apacheと比較してそれほど多くのメモリを消費しません。(このステートメントの例外はnaxsi
フレーバーです。このフレーバーは、WebアプリケーションファイアウォールおよびWebサーバーであるため、常により多くのリソースを消費します。)
見つけた場合はこの回答にベンチマークを追加しますが、繰り返しますが、さまざまなフレーバーの既存のベンチマークを互いに認識していません。そして、私は実行するサイトが大量のトラフィックを持っていないにもかかわらず、私は間の任意の実際のパフォーマンスの低下を気づいていないnginx-extras
、nginx-full
またはnginx-light
PHP駆動型のサイト上で。