ホームページ  >  記事  >  バックエンド開発  >  Tomcat と nginx の違い、Apache HTTP サーバー プロジェクト

Tomcat と nginx の違い、Apache HTTP サーバー プロジェクト

不言
不言オリジナル
2018-07-07 15:51:041659ブラウズ

この記事では、主に tomcat、nginx、および Apache HTTP Server プロジェクトの違いを紹介します。これには特定の参考値があります。今、あなたに共有します。必要な友人はそれを参照できます。

Apache とは、次のことを指します。 Apache Software Foundation のプロジェクト - Apache HTTP Server Project; Nginx もオープンソースの HTTP サーバー ソフトウェアです (もちろんメール プロキシ サーバーや一般的な TCP プロキシ サーバーとしても使用できます)。
HTTP サーバーは本質的にアプリケーションです。通常、サーバー上で実行され、サーバーの IP アドレスをバインドし、特定の TCP ポートをリッスンして HTTP リクエストを受信して​​処理します。そのため、クライアント (通常は IE、Firefox、Chrome) HTTPプロトコルを介してサーバー上のWebページ(HTML形式)、ドキュメント(PDF形式)、音声(MP4形式)、ビデオ(MOV形式)などのリソースを取得できます。
次の図は、このプロセスを示しています。

Tomcat と nginx の違い、Apache HTTP サーバー プロジェクトApache HTTP Server と Nginx だけでなく、簡単な HTTP サーバーの利便性も、ほとんどのプログラミング言語に含まれるクラス ライブラリに実装されています。開発者は次のメソッドを使用します。 HttpServer ( Java HTTP Server) Python SimpleHTTPServer は、これらのライブラリを使用して HTTP サーバーを非常に簡単に実行でき、IP アドレスをバインドし、TCP ポートでリッスンすることで HTTP サービスを提供できます。
Apache Tomcat は、Apache Foundation の別のプロジェクトであり、Apache HTTP Server と比較して、Tomcat はリソースを動的に生成してクライアントに返すことができます。 Apache HTTP サーバーと Nginx は両方とも、HTTP プロトコルを通じて特定のテキスト ファイルの内容をクライアントに返すことができますが、このテキスト ファイルの内容は固定されています。つまり、いつ誰がアクセスしても、取得される内容は固定されています。完全に同様に、このようなリソースを 静的リソース と呼びます。
動的リソースはその逆で、異なる時間に異なるクライアントからアクセスされた場合に取得されるコンテンツは異なります。例: 現在時刻を含むページと現在の IP アドレスを表示するページ。Apache HTTP Server と Nginx 自体は、動的ページですが、他のモジュール (コンテンツを動的に生成するシェル、PHP、Python スクリプトなど) を通じてサポートできます。 Java プログラムを使用してリソース コンテンツを動的に生成する場合、このタイプの HTTP サーバーを使用してそれを行うことは困難です。 Java Servlet テクノロジと派生 Java Server Pages テクノロジを使用すると、Java プログラムは HTTP 要求を処理し、コンテンツを返すことができます (プログラムによって動的に制御されます)。Tomcat は、Servlet/JSP アプリケーションの実行をサポートするコンテナ (コンテナ) です。

Tomcat と nginx の違い、Apache HTTP サーバー プロジェクト

#Tomcat は JVM 上で実行されます。HTTP サーバーと同様に、IP アドレスをバインドし、TCP ポートをリッスンします。また、次の告発も含まれています:

  • サーブレット プログラムのライフ サイクルを管理する

  • URL を指定されたサーブレットにマッピングして処理する

  • サーブレットを操作するHTTP リクエストを処理するプログラム — HTTP リクエストに基づいて HttpServletResponse オブジェクトを生成し、それを処理のためにサーブレットに渡し、サーブレット内の HttpServletResponse オブジェクトによって生成されたコンテンツをブラウザに返します

  • #Tomcat も HTTP サーバーと見なすことができますが、通常は Nginx で引き続き使用されます。動的リソースと静的リソースの分離 - Nginx のリバース プロキシ機能を使用してリクエストを分散します。すべての動的リソース リクエストは Tomcat に渡され、静的リソースのリクエストはすべて Tomcat に渡されます。リソース要求 (写真、ビデオ、CSS、JavaScript ファイルなど) は Nginx によってブラウザに直接返されるため、Tomcat への負担が大幅に軽減されます。負荷分散: ビジネスのプレッシャーが高まると、1 つの Tomcat インスタンスでは対応しきれない場合がありますが、このとき複数の Tomcat インスタンスを起動して水平拡張することができ、Nginx の負荷分散機能によりアルゴリズムを通じてリクエストを異なるインスタンスに分散することができます。

上記がこの記事の全内容です。皆様の学習に少しでもお役に立てれば幸いです。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

nginx ルートとエイリアスの違いについて

##PHP における無限分類と無限ネストコメント

以上がTomcat と nginx の違い、Apache HTTP サーバー プロジェクトの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。