web服务器 tomcat uWSGI,web服务器上通过建立(),向用户提供网页资源
在介绍每个服务器之前,有必要先说一下apache和tomcat的关系。服务器之间的优劣也与Apache和Tomcat进行了对比。
是apache Web server(静态解析,比如HTML),tomcat是java应用服务器(动态解析,比如JSP)。Tomcat只是一个servlet(jsp也翻译成servlet)容器,可以认为是apache的扩展,但是可以独立于Apache运行,是同一个服务器。Tomcat的特殊之处在于,它也是一个Java web容器,可以处理JSPsApache一般和PHP结合,但不能处理JSP。
Apache通常与Tomcat集成在一起。Apache处理静态页面,比如Html页面,而Tomcat编译JSP页面和Servlet。
Apache是一个Web服务器环境程序,启用后可以作为Web服务器使用,但只支持静态网页如(ASP,PHP,CGI,JSP)等动态网页。如果要在Apache环境下运行JSP,需要一个解释器来执行JSP页面,这个JSP解释器就是Tomcat。
Apache简介Apache Apache是世界排名第一的Web服务器软件。它可以在几乎所有广泛使用的计算机平台上运行。由于其跨平台性和安全性,它是最流行的Web服务器端软件之一。它快速、可靠,并且可以通过简单的API进行扩展,将Perl/Python等解释器编译到服务器中。Apache服务器是一个模块化的服务器,它起源于NCSAhttpd服务器。经过多次修改,它已经成为世界上排名第一的Web服务器软件。
Apache server和Nginx都可以通过HTTP协议向客户端返回某个文本文件的内容,但是这个文本文件的内容是固定的3354,也就是说,无论什么时候任何人访问它,内容都是完全一样的。我们称这个资源为静态。
优势:
1.与Tomcat服务器相比,Apache处理静态文件的速度更快。
2.apache的重写比nginx强。
3.Apache性能稳定
缺点:
1.属于老的重量级web服务器(重量级主要是软件包体积大,软件耦合度高)
2.速度和性能不如其他轻量级web服务器,内存消耗高。
3.使用传统的select模型,相对稳定的Prefork模型是多流程模型,往往需要派生子流程。所以消耗的cpu等服务器资源比较大。
5.配置相对复杂,不支持动态页面,不适合高并发场景。
二。Tomcat简介Tomcat server是一款免费开源的Web应用服务器,属于轻量级应用服务器。广泛应用于中小型系统和并发用户不多的场合,是开发调试JSP程序的首选。对于一个初学者来说,可以认为在一台机器上配置Apache server,就可以用来响应HTML(标准通用标记语言下的一个应用)页面的访问请求。
动态资源:不同的客户端在不同的时间访问不同的内容,例如:
具有当前时间的页面具有当前IP地址的Tomcat也可以被认为是HTTP服务器,但是通常它仍然会与Nginx一起使用:
动静态资源分离3354通过使用Nginx的反向代理功能来分发请求:所有对动态资源的请求都交给Tomcat,而对静态资源(如图片、视频、CSS、JavaScript文件等)的请求,)都是由Nginx直接返回给浏览器,可以大大减轻Tomcat的压力。
负载平衡。当业务压力增加时,一个Tomcat实例可能不足以处理它。此时可以启动多个Tomcat实例进行横向扩展,Nginx的负载均衡功能可以通过算法将请求分配给不同的实例进行处理。
优势:
1.Tomcat是一个开源的Web服务器,经过长时间的发展,性能和稳定性都非常好。
2.Tomcat是开源的,免费的,功能强大,易于使用。
3.与Apache HTTP Server相比,Tomcat可以生成动态个资源并返回给客户端。
缺点:
1.Tomcat在静态页面处理能力上不如Apache。
三。jetty jetty简介Jetty是一个开源的servlet容器,它为基于Java的web容器,如JSP和servlet,提供了一个运行环境。Jetty是用Java语言编写的,它的API是作为一组JAR包发布的。开发人员可以将Jetty容器实例化为一个对象,它可以快速地为一些独立的Java应用程序提供网络和web连接。
优势:
1.Jetty可以作为嵌入式服务器,也就是说,如果Jetty的JAR文件可以添加到应用程序中,应用程序就可以在代码中向外界提供Web服务。
2.与Tomcat相比,Jetty更轻。
3.Jetty可以同时处理大量的连接,并长时间保持这些连接。比如有些网聊应用非常适合用Jetty做服务器,淘宝之类的WebWant旺旺就用Jetty做Servlet引擎。
缺点:
1.在处理少数非常繁忙的连接方面不如Tomcat强,也就是说,如果连接生命周期短,Tomcat的整体性能会更高。
四。Nginx简介Nginx(engine x)是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx也是一个轻量级的Web服务器/反向代理服务器和电子邮件(IMAP/POP3)代理服务器,它是在一个类似BSD的协议下分发的。
NGX有一个动态分离机制。静态请求可以直接通过Nginx处理,动态请求转发到后台让Tomcat处理。
优势:
1.轻量级、高性能的http和反向代理服务器。
2.高并发连接数达到20000-40000,内存、cpu等系统资源消耗低。Rewrite重写规则(HTTP请求根据不同的域名和URL划分到不同的后端服务器组),内置健康检查功能(Nginx代理后端某个web服务器宕机不会影响前端访问),节省带宽(支持GZIP压缩,可以添加浏览器本地缓存的头)。
3.它比apache占用更少的内存和资源
4.Nginx的静态处理性能比Apache高3倍以上。
5.安装非常简单,配置文件非常简洁(它也可以支持perl语法)
缺点:
1.nginx处理动态请求。鸡肋一样的动态请求,需要apache做nginx,只适合静态和反向。
2.重写不像Apache那样频繁
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。