Apache は、Apache Software Foundation に基づくプロジェクト、つまり Apache HTTP サーバー プロジェクトを指す必要があります。
Nginx はオープン ソース HTTP サーバーでもあります。 (もちろん、メールプロキシサーバーや一般的なTCPプロキシサーバーとしても使用できます)。
HTTP サーバーは本質的にアプリケーションです。通常、サーバー上で実行され、サーバーの IP アドレスをバインドし、特定の TCP ポートをリッスンして HTTP リクエストを受信して処理します。これにより、クライアント (通常は IE などのブラウザー) Firefox、Chrome) は、HTTP プロトコルを介してサーバー上の Web ページ (HTML 形式)、ドキュメント (PDF 形式)、音声 (MP4 形式)、ビデオ (MOV 形式) およびその他のリソースを取得できます。
Apache Tomcat は、Apache Foundation の別のプロジェクトであり、Apache HTTP Server と比較して、Tomcat はリソースを動的に生成してクライアントに返すことができます。
Apache HTTP サーバーと Nginx はどちらも、HTTP プロトコルを通じて特定のテキスト ファイルの内容をクライアントに返すことができますが、このテキスト ファイルの内容は固定されています。誰がどのようにアクセスしても、取得するコンテンツはまったく同じであり、このようなリソースを静的リソースと呼びます。
逆に、動的リソースは、異なる時間に異なるクライアントによってアクセスされるコンテンツが異なります。
例: 現在時刻を含むページと現在の IP アドレスを表示するページ Apache HTTP サーバーと Nginx 自体は動的ページの生成をサポートしていませんが、他のモジュール (たとえば、シェル、PHP、Python スクリプトを使用してコンテンツを動的に生成します)。
Java プログラムを使用してリソース コンテンツを動的に生成する場合、このタイプの HTTP サーバーを使用して生成することは困難です。
Java サーブレット テクノロジと派生した Java Server Pages テクノロジを使用すると、Java プログラムは HTTP リクエストを処理し、(プログラムによって動的に制御される) コンテンツを返すことができます。Tomcat は、サーブレット/JSP アプリケーションの実行をサポートするコンテナです。 ( コンテナ);
Tomcat は JVM 上で実行されます。HTTP サーバーと同様に、IP アドレスをバインドし、TCP ポートをリッスンします。また、次の非難も含まれています:
Tomcat のライフ サイクル管理サーブレット プログラムは、処理のために URL が指定されたサーブレットにマップされ、サーブレット プログラムはサーブレット プログラムと連携して HTTP リクエストを処理します。HTTP リクエストに基づいて HttpServletResponse オブジェクトを生成し、それを処理のためにサーブレットに渡して返します。サーブレット内の HttpServletResponse オブジェクトによって生成されたコンテンツをブラウザに送信します。
Tomcat も HTTP サーバーとみなされますが、通常は Nginx と併用されます。
(1) 動的リソースと静的リソースの分離 - Nginx のリバース プロキシ機能を使用した配布 リクエスト: すべて動的リソースに対するリクエストは Tomcat に渡されますが、静的リソース (画像、ビデオ、CSS、JavaScript ファイルなど) に対するリクエストは Nginx によってブラウザに直接返されるため、Tomcat への負担が大幅に軽減されます。
(2) 負荷分散 ビジネスのプレッシャーが高まると、Tomcat インスタンス 1 つだけでは対応しきれない場合がありますが、このとき複数の Tomcat インスタンスを起動して水平拡張することで、Nginx の負荷分散機能を利用することができます。アルゴリズムによる処理のためにさまざまなインスタンスに分散されます
Nginx 関連の技術記事の詳細については、Nginx 使用法チュートリアル 列にアクセスして学習してください。
以上がnginx tomcat apacheの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。