Web服务器,应用服务器和数据库服务器之间的区别

One*_*ror 41 apache webserver web-hosting web-applications htdocs

我在某处读到Web应用程序由Web服务器,应用程序服务器和数据库服务器组成.这三者有什么区别?


我问过这个问题,因为我记得当我主持一个网站时,我所有的都是https登录网站的控制面板,我将所有文件放在htdocs文件夹中.没有三个单独的东西,如Web服务器,应用程序服务器和数据库服务器.

Par*_*ram 39

网络服务器 -

托管您网站的服务器.此服务器将安装Web服务器,如IIS,apache等.

Application Server -

您创建的应用程序使用您的数据库,Web服务等的服务器.此应用程序服务器将托管业务层(包含Web服务),预定作业,Windows服务等.

数据库服务器

数据库服务器将托管您的一个或多个数据库,如Oracle,Sql Server,MySql等.


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

在此输入图像描述

参考 - 部署模式


Nev*_*uyt 35

这常常令人困惑.

首先 - "服务器"可以指物理事物(计算机)或逻辑事物(一种软件).

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

逻辑分离如下.

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

应用程序服务器处理创建动态页面的请求.因此,它们不是提供存储在硬盘驱动器上的HTML页面,而是动态生成发送给最终用户的HTML.用于此的常用语言/框架是Java/JSP,.Net(aspx),PHP,Ruby(在Rails上或不在Rails上),Python等.大多数情况下,此应用程序服务器软件在与Web相同的物理服务器计算机上运行服务器.

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

数据库软件可以在与Web服务器相同的物理机器上运行,但是当站点需要扩展时,它通常是在单独的物理硬件上托管的第一件事.