主な違い: Nginxの「engine x」はフリーでオープンソースのHTTPサーバーで、リバースプロキシサーバーとしても機能します。 IMAP / POP3プロキシサーバーでもあります。 Unicornは、ラックアプリケーション用に設計されたHTTPサーバーです。 低遅延および広帯域幅接続などの仕様で高速クライアントに対応する機能を備えています。 Unicornはラック型サーバーですが、Nginxは純粋なWebサーバーです。

静的およびインデックスファイルの提供、モジュラーアーキテクチャ、SSLおよびTLS SNIのサポートなど、基本的なHTTPサーバー機能を提供します。すべてのネットワーク接続は、非ブロック方式で機能します。 あらかじめ設定された数のワーカープロセスによって操作され、各プロセスはシングルスレッドとして実行されます。 Nginxに付随する制限の1つは、モジュールの作成が難しい作業であるということです。

それはUnixライクなプラットフォーム上で動作します、そしてそれ故にそれはUNIXの同様の基本的な概念に従います。 Unicornは基本的に事前分岐サーバーです。つまり、親プロセスは1つのポートで待機し、一定数の子プロセスを分岐します。 それは彼らに関連付けられている要求のバランスを保つことによって子供たちの世話をします。 Rubyアプリケーションに最もよく使われます。 標準のUnixシグナルはそれとの相互作用または通信に使用されます。 このサーバーの最大の成果の1つは、再起動するまでに停止時間がゼロになることです。
両方の利点を活用するために、両方を含むセットアップが作成されます。 NginxはUnicornワーカープールに要求を送信します。 ユニコーンマスターは、オペレーティングシステムがバランシングを処理する間、作業者の面倒を見ます。
NginxとUnicornの比較
ユニコーン | Nginx | |
定義 | Unicornは、ラックアプリケーション用に設計されたHTTPサーバーです。 低遅延および広帯域幅接続などの仕様で高速クライアントに対応する機能を備えています。 著作権のあるフリーソフトウェアです。 | Nginx 'engine x'はフリーでオープンソースのHTTPサーバーとリバースプロキシです。 IMAP / POP3プロキシサーバーでもあります。 もともと、それはIgor Sysoevによって書かれました。 |
タイプ | ラックWebサーバー | 純粋なWebサーバー |
力 | これは、Unix / Unixライクなカーネルの機能を利用する、フル機能のWebアプリケーションサーバーです。 | 高性能、安定性、豊富な機能セット、シンプルな設定、そして少ないリソース消費。 |
制限 | 低クライアントは、Unicornクライアントと低速クライアントの間に、要求と応答の両方を完全にバッファリングできるリバースプロキシを配置することによってのみ機能できます。 | モジュールの作成はとても難しいです。 |
関係 | UnicornはRuby on Railsアプリケーションに使用され、/ home / rails内のファイルを探します。 | 画像などの静的コンテンツを提供し、その要求をUnicornに転送します。 |