辨析各类web服务器:Apache/Tomcat/Jboss/Nginx/等,还有Nodejs
先说一下各类服务器能干啥,特点是啥,然后在区分他们的类别。
(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的更多相关文章
- 浅析Apache/Tomcat/JBOSS/Nginx之区别
浅析Apache/Tomcat/JBOSS/Nginx服务器之区别 一.Apache和Tomcat的区别 Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上, ...
- Apache/Tomcat/JBOSS/Nginx区别
先说Apache和Tomcat的区别: Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一. ...
- Apache/Tomcat/JBOSS/Nginx区别(转)
先说Apache和Tomcat的区别: Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一. ...
- 总结:Apache/Tomcat/JBOSS/Jetty/Nginx区别 .
总结:Apache/Tomcat/JBOSS/Nginx区别 .1.Apache是Web服务器,Tomcat是应用(Java)服务器.Tomcat在中小型系统和并发访问用户不是很多的场合下被普遍使用. ...
- 关于Apache/Tomcat/JBOSS/Neginx/lighttpd/Jetty等一些常见服务器的区别比较和理解
先说Apache和Tomcat的区别: Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一. ...
- Web服务器☞Apache VS Nginx
Web服务器☞Apache VS Nginx LZ最近公司有一个项目在Web服务器选型上,在Apache和Nginx之间引起了一些讨论.这两者目前都是业内优秀的web服务器,都实现了HTTP1.1协议 ...
- web服务器与tomcat
web服务器与tomcat 服务器分类: 硬件服务器和软件服务器 web服务器: 提供资源供别人访问 web: 网页的意思,资源. web资源分类: 动态的web资源:内容有可能发生改变的 静态的we ...
- WEB服务器,TOMCAT和servlet之间的关系
WEB服务器,TOMCAT和servlet之间的关系 什么是WEB服务器Web服务器是指能够为发出请求的浏览器提供文档的程序.服务器是 一种被动程序,只有浏览器发出请求的时候才会响应.应用层使用 的是 ...
- nginx高性能WEB服务器系列之九--nginx运维故障日常解决方案
nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...
随机推荐
- [转]Android 如何根据网络地址获取网络图片方法
http://blog.csdn.net/xiazdong/article/details/7724103 目录(?)[-] h2pre namecode classhtml stylefont-we ...
- angularJS修改 品优购修改品牌(新增和修改用同一个方法)
前端代码 brand.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"&g ...
- Linux IO Scheduler
一直都对linux的io调度算法不理解,这段时间一直都在看这方面的内容,下面是总结和整理的网络上面的内容.生产上如何建议自己压一下.以实际为准. 每个块设备或者块设备的分区,都对应有自身的请求队列(r ...
- HDU 4348 主席树区间更新
To the moon Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total ...
- SCU 4527 NightMare2 最短路+二分 好题
可怜的又做噩梦了..但是这次跟上次不大一样,虽然他又被困在迷宫里,又被装上了一个定时炸弹,但是值得高兴的是,他发现他身边有数不清的财宝,所以他如果能带着这些财宝并活着逃出去的话,他就发财啦.不过,这次 ...
- opencv学习--透视变化
透视变换和仿射变换具有很大的相同特性,前面提到了放射变化,这里再次把它拿出和透视变换进行比较 #include"cv.h" #include"highgui.h" ...
- POJ2155 树状数组
Matrix Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 26650 Accepted: 9825 Descripti ...
- AndroidManifest Ambiguity方案原理及代码
1简述 前段时间在bluebox的一份android安全pdf中看到一个AndroidManifest Ambiguity方案.该方案基于android系统解析AXML的一个特点:android在解析 ...
- 名人问题/名流问题/Celebrity
问题描述:名人问题一个名人就是指这样一个人:所有其他人都认识他,并且他不认识任何其他人.现在有一个N个人的集合,以及他们之间的认识关系.求一个算法找出其中的名人(如果有的话)或者判断出没有名人(如果没 ...
- 南阳ACM 题目811:变态最大值 Java版
变态最大值 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 Yougth讲课的时候考察了一下求三个数最大值这个问题,没想到大家掌握的这么烂,幸好在他的帮助下大家算是解决了 ...