nginx と Tomcat の違いは何ですか?
nginx と tomcat の違い
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 の使用方法チュートリアル 列をご覧ください。
以上がnginx と Tomcat の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。