辨析各类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服务器系列之二 ...
随机推荐
- [zhuan]arm中的汇编指令
http://blog.csdn.net/qqliyunpeng/article/details/45116615 一. 带点的(一般都是ARM GNU伪汇编指令) 1. ".text& ...
- Ubuntu 16.04安装NVIDIA驱动后循环登录问题
问题描述 最近买了两块NVIDIA Titan X Pascal显卡装到了服务器(运行Ubuntu 16.04)上.为了使用这两块GPU显卡,首先需要安装显卡驱动,安装方式为 #安装一个依赖文件,并更 ...
- 【题解】最大公约数之和 V3 51nod 1237 杜教筛
题目传送门 http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1237 数学题真是做的又爽又痛苦,爽在于只要推出来公式基本上就 ...
- 2015/8/26 Python基础(1):基本规则及赋值
Python有如下的基本规则: #后表示注释 \n是行分隔符 \是继续上一行,将过长语句分开 :分号将两个语句连接在一行中 :冒号将代码头和体分开 代码块用缩进块的方式体现 不同缩进深度分隔不同的代码 ...
- Codeforces Round #302 解题报告
感觉今天早上虽然没有睡醒但是效率还是挺高的... Pas和C++换着写... 544A. Set of Strings You are given a string q. A sequence o ...
- 剖析 golang 的25个关键字
剖析 golang 的25个关键字 基本在所有语言当中,关键字都是不允许用于自定义的,在Golang中有25个关键字,图示如下: 下面我们逐个解析这25个关键字. var && con ...
- jqgrid 翻页记录选中行
简单的jqgrid列表 $("#list").jqGrid({ url:contextPath + "/getList", postData: data, da ...
- ipython notebook环境搭建
默认已经装好python基本环境,再进行下面步骤: 1. 下载安装IPython: c:>pip.exe install ipython 系统就会去网上寻找ipython的包, 进行下载及安装 ...
- C语言分割字符串函数strtok
在编程过程中,有时需要对字符串进行分割.而有效使用这些字符串分隔函数将会给我们带来很多的便利. 下面我将在MSDN中学到的strtok函数做如下翻译. strtok :在一个字符串查找下一个符号 ch ...
- perl输出重定向
use utf8; open A, ">&STDOUT"; open STDOUT, ">AA.txt"; print STDOUT 'AB ...