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

  (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. 四道JavaScript面试题检测你的js基本功

    下面有四道简短的JavaScript小脚本,如果你能顺利预测脚本的运行结果,那么你的JavaScript基本功还是可以的.如果答错了,可以相应地去补一下缺漏的知识.反正也很简单,答错了只是说明你没了解 ...

  2. JavaScript时间戳与其格式化

    在 PHP + MySQL (日期类型为datetime) + ajax 应用中,有时候需要用 JavaScript 将时间戳类型格式化为一般的时间类型格式.下面提供一些转换的方法,比较常见的一些总结 ...

  3. RGB向yuv的转化最优算法,快得让你吃惊!

    朋友曾经给我推荐了一个有关代码优化的pdf文档<让你的软件飞起来>,看完之后,感受颇深.为了推广其,同时也为了自己加深印象,故将其总结为word文档.下面就是其的详细内容总结,希望能于己于 ...

  4. CentOS 6.5 下 QT4 连接 mysql 数据库的步骤

    QT4 的安装请参考: CentOS 6.5 下安装 QT 4 mysql 的安装请参考: CentOS 6.5 下安装配置 mysql 1. 预防万一,先安装一下mysql-devel(一定要装!) ...

  5. 二叉树中和为某一值得路径 java实现

    本题来自<剑指offer> 路径为从根节点到叶节点一条路径,路径经过的各节点数值之和等于某一给定数值,则打印路径上的节点 因为需要打印满足条件的路径节点信息和各节点之和,需要栈记录经过的节 ...

  6. JQuery学习四(过滤选择器)

    :first选择第一个元素.$(“div:first”)进行选择第一个<div> :last 选择最后一个最后一个元素 $("div:last")选取最后一个<d ...

  7. idea 多模块引用

    roma-server 引用common-utils的类,所以在roma-server 的pom中配置 <dependency> <groupId>org.springfram ...

  8. 51Nod 1083 矩阵取数问题 | 动态规划

    #include "bits/stdc++.h" using namespace std; #define LL long long #define INF 0x3f3f3f3f3 ...

  9. Linux和windows下检查jsp后门文件的方法

    Linux下: find . -name "*.jsp" | xargs egrep -liw "createNewFile| File\(| File |applica ...

  10. Gradle加载本地jar包

    有时,我们需要的jar包不一定能在远程仓库中找到,这时我们需要加载本地的jar包. 加载单独的jar包 在项目底下添加libs目录,将jar包仍进libs目录 build.gradle配置如下: de ...