程序小牛

来了就随便看看,虽然没有什么好看的~~

服务器软件分类

b博文主要对服务器进行分类,以及一些常用的服务器软件分类,能够帮助理解系统的部署方式等~

一、相关概念

1、静态和动态服务

静态服务

主要是提供静态资源、不同的用户访问服务得到的资源是一摸一样的

动态服务

提供动态服务,不同用户访问得到的资源是不同的,例如后台系统,根据每个用户身份不同,返回的结果权限都是不同的

2、服务器分类

Web服务器

广义上来说,就是响应用户的需求,提供服务,当下所有的服务器软件都可以称之为web服务器软件,现在的web服务器应用层通讯协议主要是http协议,web服务器和http服务器几乎对等

HTTP服务器(静态服务)

使用http协议将服务器上的资源传给客户端,侧重于静态资源的支持,可将其视为静态服务器

应用服务器(动态服务)

一个特定应用的承载容器,运行时需要特定环境的支持,例如tomcat运行时需要java的支持,也可以称作动态服务器、动态容器等。应用服务器可以降维,当静态服务器使用,但一般不会这么用

3、一些常见的服务器软件

1.Http静态服务器软件

(一)Nginx

典型的静态服务器,可以做反向代理,负载均衡,一般放在最前面直面客户,和动态应用服务器例如tomcat打配合;纯C语言编写,性能贼高,内存消耗极少,稳定性也相当好,互联网公司重度使用。Nginx服务器也可以在诸如Lua脚本等辅助下做二次开发,变成一个可以提供动态服务的应用服务器,也就是大名鼎鼎的OpenRestyTengineApcheHttp Service

(二)Tengine

阿里出品,基于Nginx服务器做的改造(加强和封装),对大流量场景做了很多高级功能,性能、稳定性优秀

(三)Apache Http Server

也是静态服务器,但是不如Nginx服务器

(四)IIS

微软开发,只能用在Windows下,是具备一定应用服务器能力的http服务器

2.动态应用服务器

一、轻量级动态应用服务器

(一)Tomcat

Apach出品,典型的应用服务器软件,符合Servlet标准的应用容器,也可以提供http服务,一般不会作为Http服务器去用,SpringBoot框架默认的内置服务器

(二)Jetty

跟Tomcat是一个性质的东西,符合Servlet标准的应用容器,更加轻量

(三)Undertow

红帽子出品,更tomcat、jetty一样也是SpringBoot框架支持的服务器,高并发时性能要优于Tomcat、Jetty

二、商用的重量级服务器软件

(一)JBoss

(从8版开始更名未WildFly):不仅仅是Servlet应用容器,更是EJB时的应用容器,整套JavaEE框架部署的解决方案

(二)WebLogic

Oracle公司出品,用于部署企业级JavaEE应用,全能型,几乎支持JavaEE所有应用规范

(三)WebSphere

IBM公司出品,支持更多JavaEE的应用规范的综合应用服务器