ホームページ  >  記事  >  バックエンド開発  >  概要: Apache/Tomcat/JBOSS/Jetty/Nginx の違い

概要: Apache/Tomcat/JBOSS/Jetty/Nginx の違い

WBOY
WBOYオリジナル
2016-08-08 09:23:352113ブラウズ

概要: Apache/Tomcat/JBOSS/Nginx の違い .
1. Apache は Web サーバーであり、Tomcat はアプリケーション (Java) サーバーです。 Tomcat は、小規模および中規模のシステムや、同時アクセス ユーザーがそれほど多くない状況でよく使用されます。 Apache は静的ページをサポートし、Tomcat は動的ページをサポートします。
2. Jetty: Tomcat カーネルはサーブレット コンテナ エンジンとして使用されており、大規模および中規模のシステムに適用できます。データベース接続プール サービスを提供でき、PHP や .NET などの他の Web テクノロジーの統合もサポートします。
3. JBoss は EJB を管理するコンテナーおよびサーバーですが、JBoss コア サービスにはサーブレット/サーブレットをサポートする WEB コンテナーは含まれません。 JSP 。通常は Tomcat または Jetty と組み合わせて使用​​されます。
4. Nginx は現在最もパフォーマンスの高い HTTP サーバーです。メモリ占有量が少なく、同時実行能力が強いのが特徴です。 Nginx コードは完全に C 言語で最初から書かれています。

つまり、Apache-Nginx、Tomcat-JBoss。これら 3 つのグループは組み合わせることができます。

詳細な説明:

1. Apache + Tomcat
Apache は静的ページをサポートし、Tomcat はサーブレットなどの動的ページをサポートします。
一般に、Apache + Tomcat を使用する場合、Apache はフォワーダーとしてのみ機能し、処理はの JSP は Tomcat のによって処理されます。
Apche は PHPcgiperl をサポートできますが、Java を使用したい場合は、Apache バックグラウンドでサポートし、処理のために Java リクエストを Apache から Tomcat に転送するには Tomcat が必要です。
Apache は Web サーバーであり、Tomcat は単なるサーブレット (JSP はサーブレットとも訳されます) コンテナーです。ただし、Apache とは独立して実行できます。

この 2 つは次の点で比較できます:
◆どちらも Apache 組織によって開発されています
◆どちらも HTTP サービス機能を備えています
◆どちらも無料です
違い:
Apache は HTTP サービスと関連構成を提供するために特別に使用されます(仮想ホスト、URL 転送など)
Tomcat は、Java EE の JSP およびサーブレット標準に基づいて開発された JSP サーバーです。Tomcat は中小規模のシステムで使用され、同時アクセス ユーザーが多くありません。時々。

2. Jetty

Jetty は業界最高のオープンソース Java Web エンジンを使用しており、サーブレット コンテナ エンジンとして Java コミュニティで最大のダウンロード量、最大のユーザー数、最も完全な標準サポートを備えた Tomcat カーネルを使用しています。そしてそれを見直して最適化します。 Pure Tomcat のパフォーマンスは限られており、アクティブ接続のサポート、静的コンテンツ、大きなファイル、HTTPS などの多くの領域でパフォーマンスが不足しています。パフォーマンスの問題に加えて、Tomcat のもう 1 つの大きな欠点は、Java アプリケーションのみを実行できる限定された統合プラットフォームであることです。企業が Tomcat を使用する場合、多くの場合、Apache WebServer を同時に展開して統合する必要があります。この構成は煩雑であり、優れたパフォーマンスを保証できません。
Jetty は、APR と Tomcat ネイティブ テクノロジーのハイブリッド モデルを使用することで、Tomcat の欠点の多くを解決します。混合テクノロジー モデルは、最新のオペレーティング システム テクノロジーによる最適なスレッド処理とイベント処理を提供します。その結果、Jetty は、ローカルの Apache HTTP サーバーまたは IIS のパラメータと同等またはそれを超えるスケーラビリティとパフォーマンス パラメータを実現します。たとえば、Jetty は、JSP などの Java テクノロジをサポートするだけでなく、PHP や .NET などの他の Web テクノロジの統合もサポートするデータベース接続プール サービスを提供できます。

3. Nginx
Nginxは安定性が高いです。他の HTTP サーバーがアクセスのピークに遭遇したり、誰かが悪意を持って遅い接続を開始したりすると、サーバーの物理メモリが枯渇し、スワップが頻繁に発生し、応答が失われる可能性があり、サーバーは再起動するしかありません。たとえば、現在 Apache のプロセスが 200 を超えると、Web の応答速度は明らかに非常に遅くなります。 Nginx は段階的リソース割り当てテクノロジーを採用しており、CPU とメモリの使用量が非常に低くなります。 nginx は公式に、10,000 の非アクティブな接続を維持し、メモリを 2.5M しか占有しないと述べているため、DOS のような攻撃は基本的に nginx には役に立ちません。安定性の点では、nginx は lighthttpd よりも優れています。

4. JBoss

JBoss は、J2EE に基づいたオープンソースのアプリケーション サーバーです。JBoss は、EJB を管理するコンテナーおよびサーバーですが、JBoss のコア サービスには、サーブレット/JSP をサポートする WEB コンテナーは含まれておらず、通常は Tomcat または JBoss にバインドされています。桟橋利用。
JBoss と Web サーバーは同じ Java 仮想マシンで実行されます。JBoss の実行後は、バックグラウンド管理インターフェイスにより、サーブレットがネットワークを経由せずに EJB を呼び出すことができるため、操作効率が大幅に向上し、セキュリティ パフォーマンスが向上します。

以上、Apache/Tomcat/JBOSS/Jetty/Nginx の違いについて、内容の側面も含めて概要を紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。

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