ホームページ  >  記事  >  運用・保守  >  Tomcatとnginxの違い

Tomcatとnginxの違い

步履不停
步履不停オリジナル
2019-06-22 10:18:543656ブラウズ

Tomcatとnginxの違い

Web 上のサーバーはすべて Web サーバーと呼ばれますが、それぞれの役割分担は異なります。


nginx は通常、静的コンテンツ サービス および プロキシ サーバー (FQ プロキシではありません) として使用され、外部リクエストを後続のアプリケーション サービス (tomcat、 django など)、tomcat は アプリケーション コンテナ としてより使用され、その中で Java Web アプリを実行できるようになり、jboss、jetty などと同じレベルに相当します。

しかし、絶対的なものはありません。nginx はモジュール開発を通じてアプリケーション機能を提供することもでき、tomcat は http サービスを直接提供することもできます。通常、イントラネットや、フロー制御などの小規模なサービスを必要としないシナリオで使用されます。

Apache の使用はますます少なくなり、その機能は一般に nginx と重複する部分が多くなります。

厳密に言えば、Apache/Nginx は「HTTP サーバー」と呼ぶべきですが、Tomcat は「アプリケーション サーバー」、より正確には「サーブレット/JSP」「アプリケーション コンテナ(アプリケーション)」です。 Ruby/Python など他の言語で開発されたものは Tomcat 上で直接実行できません)。


HTTP サーバーは、HTTP プロトコル レベルでの送信とアクセス制御に関係するため、Apache/Nginx ではプロキシやロード バランシングなどの機能が見られます。クライアントは、HTTP サーバーを介してサーバーに保存されているリソース (HTML ファイル、画像ファイルなど) にアクセスします。 CGI テクノロジーにより、処理されたコンテンツは HTTP サーバー経由で配信することもできますが、HTTP サーバーは常に、サーバー上のファイルを HTTP プロトコルを通じてクライアントに忠実に送信するだけです。

アプリケーション サーバーは、アプリケーションを実行するためのコンテナです。まず、アプリケーションがアプリケーション サーバー上で正常に実行できるようにするために、開発言語 (Tomcat の場合は Java) のランタイムをサポートする必要があります。次に、クラス ライブラリやセキュリティ機能などのアプリケーション関連の仕様をサポートする必要があります。 Tomcatの場合、JSP/Sevletの動作に必要な標準クラスライブラリやインターフェース等を提供する必要があります。便宜上、アプリケーション サーバーには HTTP サーバーの機能が統合されることがよくありますが、プロフェッショナルな HTTP サーバーほど強力ではないため、アプリケーション サーバーは多くの場合、HTTP サーバーの背後で実行され、アプリケーションを実行し、HTTP サーバーを通じて動的コンテンツを静的コンテンツに変換してクライアントに配布します。

Nginx 関連の技術記事の詳細については、Nginx チュートリアル 列にアクセスして学習してください。

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

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