Разница между веб-сервером, сервером приложений и сервером баз данных

Я где-то читал, что веб-приложение состоит из веб-сервера, сервера приложений и сервера баз данных. В чем разница между этими тремя ?


Я задал этот вопрос, потому что я помню, когда я вел сайт, все что у меня было https войдите в Панель управления веб-сайта, в которую я помещаю все свои файлы в htdocs папка. Не было трех отдельных вещей, таких как веб-сервер, сервер приложений и сервер баз данных.

3 ответов


Веб-Сервер -

сервер, на котором размещен ваш сайт. На этом сервере будут установлены веб-серверы, такие как IIS, apache и т. д.

Сервер Приложений -

сервер, на котором созданы приложения, использующие вашу базу данных, веб-службу и т. д. На этом сервере приложений будет размещен бизнес-уровень (обернутый веб-службами), запланированные задания, службы windows и т. д.

Сервер Баз Данных -

на сервере баз данных будет размещена одна или несколько баз данных, таких как Oracle, Sql Server, MySql и т. д.


Если вы имеете в виду htdocs тогда это веб-сервер. Базы данных, которую вы используете должна быть установлена на другом сервере, который является сервер базы данных. Сервер приложений также может быть установлен на том же компьютере веб-сервера.

enter image description here

ссылка - Шаблоны Развертывания


Это часто сбивает с толку.

во-первых - "сервер" может относиться к физической вещи (компьютер) или логической вещи (часть программного обеспечения).

программное обеспечение Web, application и database server может работать на одном физическом сервере или распространяться на нескольких физических компьютерах. Большинство крупных веб-сайтов имеют несколько компьютеров; большинство" потребительских " хостинговых пакетов работают на одном ящике.

логическое разделение выглядит следующим образом.

в Веб-сервер обрабатывает запросы HTTP(S) и передает эти запросы "обработчикам". Они имеют встроенные обработчики для запросов файлов-HTML-страниц, изображений, CSS, JavaScript и т. д. Можно добавить дополнительные обработчики запросов, которыми они не могут управлять, например динамические страницы, доставляемые сервером приложений. Веб-серверы реализуют спецификацию HTTP и знают, как управлять заголовками запросов и ответов.

сервер приложений обрабатывает запросы, которые создают динамические страницы. Так что вместо обслуживая HTML-страницу, которая хранится на жестком диске, они динамически генерируют HTML, отправленный конечному пользователю. Общие языки / фреймворки для этого-Java / JSP, .Net (aspx), PHP, Ruby (on Rails или нет), Python и т. д. В большинстве случаев это программное обеспечение сервера приложений работает на том же физическом сервере, что и веб-сервер.

программное обеспечение сервера баз данных, где приложение хранит свою структурированную информацию. Как правило, это означает пользовательское программное обеспечение, которое позволяет сервер приложений, чтобы задать такие вопросы, как "сколько элементов пользователь x имеет в своей корзине?", используя язык программирования. Примерами являются MySQL, SQL Server, Oracle (все "реляционные базы данных") и MongoDB, Redis и CouchDB (решения"NoSQL").

программное обеспечение базы данных может работать на той же физической машине, что и веб-сервер, но обычно это первое, что размещается на отдельном физическом оборудовании, когда сайт должен масштабироваться.


веб-сервер: сервер, на котором обрабатываются все ваши HTTP-запросы, известен как веб-сервер где как Сервер приложений: включая службы веб-сервера i.e отвечая на HTTP-запросы, он также отвечает на бизнес-логику, таким образом, не ограничиваясь протоколом HTTP Например. игровые сервера, чаты и т. д.