2012-10-24 123 views
27

我在某处读取了Web应用程序由Web服务器,应用程序服务器和数据库服务器组成的地方。这三者有什么区别?Web服务器,应用程序服务器和数据库服务器之间的区别


,因为我记得当我托管的网站,我不得不是一个https登录到该网站,其中我把我所有的文件夹htdocs的控制面板我问这个问题。没有三个单独的东西,例如Web服务器,应用程序服务器和数据库服务器。

回答

26

Web服务器 - 在其自己的网站托管

服务器。此服务器将已安装的网络服务器如IIS,apache等

应用服务器 -

服务器上正在利用你的数据库,Web服务等 其中您创建的应用程序此应用程序服务器主机业务层(包裹着Web服务),调度作业,窗口服务等

数据库服务器 -

数据库服务器将有你的一个或M矿托管数据库,如Oracle,SQL服务器,MySQL和等


如果你指的是htdocs那么它是一个Web服务器。您正在使用的数据库必须安装在您的数据库服务器的不同服务器上。应用程序服务器也可以安装在同一台Web服务器上。

enter image description here

参考 - Deployment Patterns

+0

它还有一个数据库(MySQL)。 – OneMoreError

+0

'数据库以及MySQL'? MySQL是一个数据库。我相信你在同一台机器上有Web服务器和数据库服务器。你也可以在不同的机器上安装它们。 –

+1

阅读MSDN上的以下文章 - http://msdn.microsoft.com/zh-cn/library/ee658120.aspx –

-4

Web服务器:在其所有的HTTP请求的处理方式被称为Web服务器 其中作为 Application Server的服务器:包括Web服务器即响应服务到HTTP请求它也响应业务逻辑,因此不仅限于HTTP协议 例如。游戏服务器,聊天室等。

17

这经常令人困惑。

首先 - “服务器”可以指物理事物(计算机)或逻辑事物(软件)。

Web,应用程序和数据库服务器软件都可以运行在同一台物理服务器上,也可以分布在多台物理机器上。大多数大型网站都有多台机器;大多数“消费者”托管软件包运行在一个盒子上。

逻辑分隔如下。

Web服务器处理HTTP(S)请求,并将这些请求传递给“处理程序”。它们内置了用于文件请求的处理程序 - HTML页面,图像,CSS,JavaScript等。您可以为其无法管理的请求添加额外的处理程序 - 例如,动态页面由应用程序服务器传递。 Web服务器实现HTTP规范,并知道如何管理请求和响应头。

应用程序服务器处理创建动态页面的请求。因此,他们不是提供存储在硬盘上的HTML页面,而是动态生成发送给最终用户的HTML。这些常见的语言/框架是Java/JSP,.Net(aspx),PHP,Ruby(不管是否在Rails上),Python等。大多数情况下,这个应用服务器软件与网络在同一台物理服务器上运行服务器。

数据库服务器软件是应用程序存储其结构化信息的地方。通常,这意味着定制软件允许应用服务器使用编程语言提出诸如“用户x在购物篮中有多少物品?”等问题。例如MySQL,SQL Server,Oracle(所有“关系数据库”)和MongoDB,Redis和CouchDB(“NoSQL”解决方案)。

数据库软件可以与Web服务器在同一台物理机器上运行,但是当网站需要扩展时,它通常是第一件东西放在单独的物理硬件上。

相关问题