彪码野郎

  • 首页

  • 分类

  • 归档

浅谈Tomcat与Apache

发表于 2019-11-03 阅读次数:

概述

Tomcat和Apache Http Server(下称Apache)还有Nginx总的来说都是Http服务器(Http Server)。

Http服务器

Http服务器本质上是一种应用程序,其通常运行在服务器上,绑定服务器的ip地址并监听某一个tcp端口接收并处理Htpp请求。用户使用客户端(浏览器)通过HTTP协议获取服务器上的资源(网页、文档、媒体文件等)。

Tomcat和Apache的差异

  • Tomcat:能够动态生成资源并返回给客户端。

    • 这里的动态生成是指会返回的内容会因为请求的参数不同,获得的内容也随之不同
  • Apache: 能将某一个固定文本的内容返回给客户端。

    • 这种固定的资源。谁拿都一样,故称之为静态资源

      Nginx和Apache是同理的

  • Apache HTTP Server和Nginx本身不支持生成动态页面,但他们可通过其他模块来支持(如PHP、Python、Node等脚本程序来动态生产内容)。

总所周知java并非脚本语言(java又要编译(class)又要解释(jvm)的语言),如果想用java程序来动态生产资源,Apache很难做到。而JavaServlet和JSP让Java程序也具有处理请求的能力,这时候Tomcat就出来了。Tomcat作为Servlet的容器,与Servlet合作处理HTTP请求。

补充

虽然Tomcat也可以认为是HTTP服务器,但通常它仍然会和Nginx配合在一起使用:

  • 动静态资源分离:运用Nginx的反向代理功能分发请求:所有动态资源的请求交给Tomcat,而静态资源的请求直接由Nginx返回。

  • 负载均衡,当业务压力增大时,可能一个Tomcat的实例不足以处理,那么这时可以启动多个Tomcat实例进行水平扩展,而Nginx的负载均衡功能可以把请求通过算法分发到各个不同的实例(Tomcat)进行处理

操作系统第二章·进程的管理
tomcat配置ssl(升级为https)
  • 文章目录
  • 站点概览
Weapon

Weapon

40 日志
6 分类
4 标签
  1. 1. 概述
  2. 2. Http服务器
  3. 3. Tomcat和Apache的差异
  4. 4. 补充
© 2019 Weapon
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Pisces v7.3.0