Разница между веб-сервером, сервером приложений и сервером баз данных
Я где-то читал, что веб-приложение состоит из веб-сервера, сервера приложений и сервера баз данных. В чем разница между этими тремя ?
Я задал этот вопрос, потому что я помню, когда я вел сайт, все что у меня было https
войдите в Панель управления веб-сайта, в которую я помещаю все свои файлы в htdocs
папка. Не было трех отдельных вещей, таких как веб-сервер, сервер приложений и сервер баз данных.
3 ответов
Веб-Сервер -
сервер, на котором размещен ваш сайт. На этом сервере будут установлены веб-серверы, такие как IIS, apache и т. д.
Сервер Приложений -
сервер, на котором созданы приложения, использующие вашу базу данных, веб-службу и т. д. На этом сервере приложений будет размещен бизнес-уровень (обернутый веб-службами), запланированные задания, службы windows и т. д.
Сервер Баз Данных -
на сервере баз данных будет размещена одна или несколько баз данных, таких как Oracle, Sql Server, MySql и т. д.
Если вы имеете в виду htdocs
тогда это веб-сервер. Базы данных, которую вы используете должна быть установлена на другом сервере, который является сервер базы данных. Сервер приложений также может быть установлен на том же компьютере веб-сервера.
ссылка - Шаблоны Развертывания
Это часто сбивает с толку.
во-первых - "сервер" может относиться к физической вещи (компьютер) или логической вещи (часть программного обеспечения).
программное обеспечение 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 Например. игровые сервера, чаты и т. д.