(WEB服务器的基本介绍)
一、Web服务器介绍
HTTP服务器本质上也是一种应用程序——它通常运行在服务器上,绑定服务器的IP地址并监听某个TCP端口,接收并处理HTTP请求,这样客户端(如Chrome这样的浏览器)就能通过HTTP协议获取服务器上的网页(HTML格式)、文档(PDF格式)等资源。
二、Web服务器分类
1.IIS
IIS(Internet信息服务)英文InternetInformationServer的缩写。它是微软公司主推的服务器。IIS的特点具有:安全性,强大,灵活。
2.Tomcat
Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
3.Zeus
Zeus是一个运行于Unix下的非常优秀的Web服务器,据说性能超过Apache,是效率最高的Web服务器之一。
4.Nginx
Nginx不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongrel进程可以极大提高Rails应用的并发能力。
5.Apache
Apache是世界使用排名第一的Web服务器软件。Apache Web服务器是一个开源软件,可以安装在几乎所有的操作系统上,包括Linux,Unix,Windows,FreeBSD,Mac OS X等等。大约60%的Web服务器机器运行Apache Web服务器。
6.Lighttpd
一个免费的Web服务器。这个开源Web服务器是快速,安全的,并且消耗更少的CPU功率。Lighttpd也可以在Windows,Mac OS X,Linux和Solaris操作系统上运行。
三、tomcat/nginx/apache区别
1.apache和tomcat比较
①相同点
相同点:
两者都是Apache组织开发的;
两者都有HTTP服务的功能;
两者都是免费的。
②不同点
1、Apache是专门用了提供HTTP服务的,以及相关配置的(例如虚拟主机、URL转发等等),
而Tomcat是Apache组织在符合Java EE的JSP、Servlet标准下开发的一个JSP服务器;
2、Apache是一个Web服务器环境程序,启用他可以作为Web服务器使用,不过只支持静态网页,如(ASP,PHP,CGI,JSP)等动态网页的就不行。
如果要在Apache环境下运行JSP的话就需要一个解释器来执行JSP网页,而这个JSP解释器就是Tomcat;
3、Apache:侧重于HTTPServer ,Tomcat:侧重于Servlet引擎,如果以Standalone方式运行,功能上与Apache等效,
支持JSP,但对静态网页不太理想;
4、Apache是Web服务器,Tomcat是应用(Java)服务器,它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,
但是可以独立于Apache运行;
5、实际使用中Apache与Tomcat常常是整合使用:如果客户端请求的是静态页面,则只需要Apache服务器响应请求。如果客户端请求动态页面,
则是Tomcat服务器响应请求。因为JSP是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销。可以理解Tomcat为Apache的一种扩展。
2.Nginx与Apache比较
- Nginx相对于Apache的优点轻量级,同样起Web 服务,比Apache占用更少的内存及资源抗并发,Nginx 处理请求是异步非阻塞的,而Apache 则是阻塞型的,在高并发下Nginx 能保持低资源低消耗高性能 高度模块化的设计,编写模块相对简单,提供负载均衡社区活跃,各种高性能模块出品迅速。
- Apache 相对于Nginx 的优点,Apache的 Rewrite 比Nginx 的强大;支持动态页面;支持的模块多,基本涵盖所有应用;性能稳定,而Nginx相对Bug较多。 3)两者优缺点比较:Nginx 配置简洁, Apache 复杂;Nginx 静态处理性能比 Apache 高 3倍以上;Apache 对 PHP 支持比较简单,Nginx 需要配合其他后端用;Apache 的组件比 Nginx 多;Apache是同步多进程模型,一个连接对应一个进程;Nginx是异步的,多个连接(万级别)可以对应一个进程;Nginx处理静态文件好,耗费内存少;动态请求由Apache去做,Nginx只适合静态和反向;Nginx适合做前端服务器,负载性能很好;Nginx本身就是一个反向代理服务器 ,且支持负载均衡。
四、总结
Tomcat是动态解析容器,处理动态请求,是编译JSP\Servlet的容器,Nginx有动态分离机制,静态请求直接就可以通过Nginx处理,动态请求才转发请求到后台交由Tomcat进行处理。Apache在处理动态有优势,Nginx并发性比较好,CPU内存占用低。可以说Tomcat 、Nginx和Apache各有千秋,每个服务器都有自己擅长处理的领域,共同承担起目前大部分程序对服务器的需求。
标签:WEB,Tomcat,Web,介绍,Nginx,JSP,Apache,服务器 From: https://blog.51cto.com/u_14664141/6148917