先说一下各类服务器能干啥,特点是啥,然后在区分他们的类别。

  (1)Apache: Apache是指Apache软件基金会的Apache HTTP Server, 它能够接收http请求,然后返回各类资源,如HTML,PDF,MP4等,但是它的特点是只是接收请求。然后返回资源,至于这个资源是怎么来的,它不管,所以很多时候,大家会说Apache支持静态资源,动态资源需要其他模块来支持,比如使用CGI,比如tomcat。

  (2)Nginx功能同Apache,也是HTTP Server, 但是Nginx经过性能优化(使用epoll(Linux2.6内核)和kqueue(FreeBSD)网络I/O模型),可以支持比apache(select模型)高得多的连接数,cpu与内存占用更低,工作中常见的是用于反向代理,负载均衡。

  (3)tomcat,最主要的功能是提供Servlet/JSP容器,虽然它也具有http服务器的功能,但是在管理功能和对静态资源的处理速度上不如专门的http服务器,如果性能需求不高的web应用,可以尝试单独使用tomcat,但是对于高性能要求的情况,需要http服务器和Tomcat集成来完成。

  (4)Jboss 是运行EJB的J2EE应用服务器,遵循J2EE规范。支持多种集成功能,如数据库连接。JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。

  然后再来说它们应该归属的类别:

(1)HTTP Server: 只是处理从接收http请求到返回http响应层面,它关心的是HTTP 协议层面的传输和访问控制, 比如Apache和Nginx,它们的关键字是网络I/O模型。

(2)应用服务器:jboss是一个应用服务器,里面跑的程序,是用满足一定规范的各类组件的组合(如数据库连接),用来处理具体的业务逻辑。

(3)Servlet/JSP容器:tomcat是一个Servlet/JSP的容器,它的目的是生成动态HTML,所以会有Nginx和tomcat的联合使用,HTTP Server接收到请求后,交给tomcat,tomcat动态生成HTML,然后返回给HTTP Server, 最后再把HTML返回给客户端。Servlet/JSP容器也可以认为是应用服务器类别下的一种

  

  最后,来讨论下nodejs,Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,node下如express的应用库也是HTTP Server的一种,不同的是,nodejs主要提供前端资源的服务,简单的业务逻辑也可以在nodejs下完成,但是复杂的业务需要nodejs server再与应用服务器进行数据交换(如RESTful)来完成。这里面会有大前端,前后端分离之类的说法。

  以上内容是在查找的资料后的简单的个人总结,不免有认识错误和不足的地方,在以后认识加深后再回头来修正和补充。

  

辨析各类web服务器:Apache/Tomcat/Jboss/Nginx/等,还有Nodejs的更多相关文章

  1. 浅析Apache/Tomcat/JBOSS/Nginx之区别

    浅析Apache/Tomcat/JBOSS/Nginx服务器之区别 一.Apache和Tomcat的区别 Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上, ...

  2. Apache/Tomcat/JBOSS/Nginx区别

    先说Apache和Tomcat的区别: Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一. ...

  3. Apache/Tomcat/JBOSS/Nginx区别(转)

    先说Apache和Tomcat的区别: Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一. ...

  4. 总结:Apache/Tomcat/JBOSS/Jetty/Nginx区别 .

    总结:Apache/Tomcat/JBOSS/Nginx区别 .1.Apache是Web服务器,Tomcat是应用(Java)服务器.Tomcat在中小型系统和并发访问用户不是很多的场合下被普遍使用. ...

  5. 关于Apache/Tomcat/JBOSS/Neginx/lighttpd/Jetty等一些常见服务器的区别比较和理解

    先说Apache和Tomcat的区别: Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一. ...

  6. Web服务器☞Apache VS Nginx

    Web服务器☞Apache VS Nginx LZ最近公司有一个项目在Web服务器选型上,在Apache和Nginx之间引起了一些讨论.这两者目前都是业内优秀的web服务器,都实现了HTTP1.1协议 ...

  7. web服务器与tomcat

    web服务器与tomcat 服务器分类: 硬件服务器和软件服务器 web服务器: 提供资源供别人访问 web: 网页的意思,资源. web资源分类: 动态的web资源:内容有可能发生改变的 静态的we ...

  8. WEB服务器,TOMCAT和servlet之间的关系

    WEB服务器,TOMCAT和servlet之间的关系 什么是WEB服务器Web服务器是指能够为发出请求的浏览器提供文档的程序.服务器是 一种被动程序,只有浏览器发出请求的时候才会响应.应用层使用 的是 ...

  9. nginx高性能WEB服务器系列之九--nginx运维故障日常解决方案

    nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...

随机推荐

  1. ucenter通信实现同步登录、同步退出(详细)

    首先,需要去官网下载一个ucenter的包.然后解压下来. 先把ucenter/ucenter这个文件夹复制到你的项目根目录下改名为uc_server;(这里只是我建议修改,以便于我下面写的配置); ...

  2. Uva-oj Product 大数乘法

    Product Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Des ...

  3. 三大linux系统对比

    概述: centos作为服务器部署是第一选择.CentOS去除很多与服务器功能无关的应用,系统简单但非常稳定,命令行操作可以方便管理系统和应用,丰富的帮助文档和社区的支持. ubuntu最佳的应用领域 ...

  4. Codeforces Round #398 (Div. 2) B,C

    B. The Queue time limit per test 1 second memory limit per test 256 megabytes input standard input o ...

  5. Kafka消息delivery可靠性保证(Message Delivery Semantics)

    原文见:http://kafka.apache.org/documentation.html#semantics kafka在生产者和消费者之间的传输是如何保证的,我们可以知道有这么几种可能提供的de ...

  6. 第一章 深入web请求过程

    B/S架构的的好处: 客户端使用统一的浏览器(browser).由于浏览器的统一性,它不需要特殊的配置和网络连接,有效的屏蔽了不同服务提供商提供给用户使用服务的差异性.另外一点是浏览器的交互特性使得用 ...

  7. [Jenkins 新插件] 兼容阿里开发手册 (P3C) 的火线插件安装使用教程

    一.前言 火线(Fireline)的Jenkins官方插件已经上线,目前火线不仅能检查出安卓代码中的安全类问题和内存泄露问题,还兼容了阿里开源的Java开发规约(P3C项目),本文将以教程的形式帮助大 ...

  8. 在linux下创建软链接(即目录映射)

    在linux中创建软链接,使用命令:ln -s. 语法:ln -s 源文件 目标文件.

  9. 51nod 1486 大大走格子——dp

    有一个h行w列的棋盘,里面有一些格子是不能走的,现在要求从左上角走到右下角的方案数. Input 单组测试数据. 第一行有三个整数h, w, n(1 ≤ h, w ≤ 10^5, 1 ≤ n ≤ 20 ...

  10. 01-QQ 3-最终重构版 Demo示例程序源代码

      源代码下载链接:01-QQ 3.zip292.5 KB // QQAppDelegate.h Map // //  QQAppDelegate.h //  01-QQ // //  Created ...