56

Web アプリケーションは、Web サーバー、アプリケーション サーバー、およびデータベース サーバーで構成されるとどこかで読みました。これら 3 つの違いは何ですか?


この質問をしたのは、私が Web サイトをホストしていたときのことを覚えているからです。Web サイトhttpsのコントロール パネルにログインするだけで、すべてのファイルをhtdocsフォルダーに入れました。Web サーバー、アプリケーション サーバー、データベース サーバーのような 3 つの個別のものはありませんでした。

4

3 に答える 3

55

これはしばしば混乱を招きます。

まず、「サーバー」は、物理的なもの (コンピューター) または論理的なもの (ソフトウェアの一部) を指す場合があります。

Web、アプリケーション、およびデータベース サーバー ソフトウェアはすべて、同じ物理サーバー マシン上で実行することも、複数の物理マシンに分散させることもできます。ほとんどの大規模な Web サイトには複数のマシンがあります。ほとんどの「コンシューマ」ホスティング パッケージは、単一のボックスで実行されます。

論理的な分離は次のとおりです。

Web サーバーは HTTP(S) リクエストを処理し、これらのリクエストを「ハンドラ」に渡します。それらには、ファイル要求 (HTML ページ、画像、CSS、JavaScript など) 用の組み込みハンドラーがあります。アプリケーション サーバーによって配信される動的ページなど、管理できない要求用のハンドラーを追加できます。Web サーバーは HTTP 仕様を実装しており、要求と応答のヘッダーを管理する方法を知っています。

アプリケーション サーバーは、動的ページを作成する要求を処理します。そのため、ハード ドライブに保存されている HTML ページを提供する代わりに、エンド ユーザーに送信される HTML を動的に生成します。このための一般的な言語/フレームワークは、Java/JSP、.Net (aspx)、PHP、Ruby (on Rails またはそれ以外)、Python などです。ほとんどの場合、このアプリケーション サーバー ソフトウェアは Web と同じ物理サーバー マシン上で実行されます。サーバ。

データベース サーバー ソフトウェアは、アプリケーションが構造化された情報を格納する場所です。通常、これは、アプリケーション サーバーがプログラミング言語を使用して「ユーザー x のバスケットにはいくつのアイテムがありますか?」などの質問をすることを可能にするカスタム ソフトウェアを意味します。例としては、MySQL、SQL Server、Oracle (すべて「リレーショナル データベース」)、MongoDB、Redis、および CouchDB (「NoSQL」ソリューション) があります。

データベース ソフトウェアは、Web サーバーと同じ物理マシンで実行できますが、通常、サイトを拡張する必要がある場合、別の物理ハードウェアで最初にホストされるのはデータベース ソフトウェアです。

于 2016-07-08T08:42:16.217 に答える
52

ウェブサーバー -

Web サイトがホストされているサーバー。このサーバーには、IIS、Apache などの Web サーバーがインストールされます。

アプリケーション・サーバー -

データベース、Web サービスなどを利用するアプリケーションを作成したサーバー。このアプリケーション サーバーは、ビジネス レイヤー (Web サービスでラップ)、スケジュールされたジョブ、Windows サービスなどをホストします。

データベース サーバー -

データベース サーバーには、Oracle、Sql Server、MySql などの 1 つ以上のデータベースがホストされます。


言及している場合htdocs、それは Web サーバーです。使用しているデータベースは、データベース サーバーである別のサーバーにインストールする必要があります。アプリケーション サーバーは、同じ Web サーバー マシンにインストールすることもできます。

ここに画像の説明を入力

リファレンス -展開パターン

于 2012-10-24T04:08:15.253 に答える