资讯专栏INFORMATION COLUMN

tomcat 与 nginx,Apache HTTP Server Project的区别

gityuan / 2571人阅读

摘要:则是基金会下的另外一个项目,与相比,能够动态的生成资源并返回到客户端。和都能够将某一个文本文件的内容通过协议返回到客户端,但是这个文本文件的内容是固定的也就是说无论何时任何人访问它得到的内容都是完全相同的,这样的资源我们称之为静态资源。

作者:知乎用户
链接:https://www.zhihu.com/questio...
来源:知乎

Apache,指的是Apache软件基金会下的一个项目——Apache HTTP Server Project;Nginx同样也是一款开源的HTTP服务器软件(当然它也可以作为邮件代理服务器、通用的TCP代理服务器)。
HTTP服务器本质上也是一种应用程序——它通常运行在服务器之上,绑定服务器的IP地址并监听某一个tcp端口来接收并处理HTTP请求,这样客户端(一般来说是IE, Firefox,Chrome这样的浏览器)就能够通过HTTP协议来获取服务器上的网页(HTML格式)、文档(PDF格式)、音频(MP4格式)、视频(MOV格式)等等资源。
下图描述的就是这一过程:
不仅仅是Apache HTTP Server和Nginx,绝大多数编程语言所包含的类库中也都实现了简单的HTTP服务器方便开发者使用:HttpServer (Java HTTP Server )Python SimpleHTTPServer使用这些类库能够非常容易的运行一个HTTP服务器,它们都能够通过绑定IP地址并监听tcp端口来提供HTTP服务。
Apache Tomcat则是Apache基金会下的另外一个项目,与Apache HTTP Server相比,Tomcat能够动态的生成资源并返回到客户端。Apache HTTP Server和Nginx都能够将某一个文本文件的内容通过HTTP协议返回到客户端,但是这个文本文件的内容是固定的——也就是说无论何时、任何人访问它得到的内容都是完全相同的,这样的资源我们称之为静态资源
动态资源则与之相反,在不同的时间、不同的客户端访问得到的内容是不同的,例如:包含显示当前时间的页面显示当前IP地址的页面Apache HTTP Server和Nginx本身不支持生成动态页面,但它们可以通过其他模块来支持(例如通过Shell、PHP、Python脚本程序来动态生成内容)。如果想要使用Java程序来动态生成资源内容,使用这一类HTTP服务器很难做到。Java Servlet技术以及衍生的Java Server Pages技术可以让Java程序也具有处理HTTP请求并且返回内容(由程序动态控制)的能力,Tomcat正是支持运行Servlet/JSP应用程序的容器(Container):Tomcat运行在JVM之上,它和HTTP服务器一样,绑定IP地址并监听TCP端口,同时还包含以下指责:

管理Servlet程序的生命周期

将URL映射到指定的Servlet进行处理

与Servlet程序合作处理HTTP请求——根据HTTP请求生成HttpServletResponse对象并传递给Servlet进行处理,将Servlet中的HttpServletResponse对象生成的内容返回给浏览器

虽然Tomcat也可以认为是HTTP服务器,但通常它仍然会和Nginx配合在一起使用:动静态资源分离——运用Nginx的反向代理功能分发请求:所有动态资源的请求交给Tomcat,而静态资源的请求(例如图片、视频、CSS、JavaScript文件等)则直接由Nginx返回到浏览器,这样能大大减轻Tomcat的压力。负载均衡,当业务压力增大时,可能一个Tomcat的实例不足以处理,那么这时可以启动多个Tomcat实例进行水平扩展,而Nginx的负载均衡功能可以把请求通过算法分发到各个不同的实例进行处理。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/35944.html

相关文章

  • tomcat nginxApache HTTP Server Project区别

    摘要:则是基金会下的另外一个项目,与相比,能够动态的生成资源并返回到客户端。和都能够将某一个文本文件的内容通过协议返回到客户端,但是这个文本文件的内容是固定的也就是说无论何时任何人访问它得到的内容都是完全相同的,这样的资源我们称之为静态资源。 作者:知乎用户链接:https://www.zhihu.com/questio...来源:知乎 Apache,指的是Apache软件基金会下的一个项目...

    yacheng 评论0 收藏0
  • tomcat nginxApache HTTP Server Project区别

    摘要:则是基金会下的另外一个项目,与相比,能够动态的生成资源并返回到客户端。和都能够将某一个文本文件的内容通过协议返回到客户端,但是这个文本文件的内容是固定的也就是说无论何时任何人访问它得到的内容都是完全相同的,这样的资源我们称之为静态资源。 作者:知乎用户链接:https://www.zhihu.com/questio...来源:知乎 Apache,指的是Apache软件基金会下的一个项目...

    Euphoria 评论0 收藏0
  • tomcatnginx反向代理,https过程分析

    摘要:接下来我们要配置这个的端口,这样他们才能运行时端口号不冲突。问题指明不同的端口号访问也太蠢了吧的确很蠢,所以我们要慢慢过渡学习。接下来我们学习用来进行反向代理。阿里云的部分有一些配置的具体过程。 一、在linux上部署运行多个tomcat 1、以前的我们 虽然说是在linux上,但是windows上也是同样的道理,只不过我们服务器都是选用linux罢了。 原先,自己有多个项目需要部署在...

    aikin 评论0 收藏0
  • keepalived+nginx+tomcat高可用负载均衡

    摘要:前提配置环境变量准备服务器或者虚拟机,以及环境,这个是必须的前提啊,我相信你可以的。关掉主机,主机监控到无后,自动切换 前提-配置java环境变量 准备centos服务器或者虚拟机,以及JAVA环境,这个是必须的前提啊,我相信你可以的。 tomcat # 下载 curl http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.31/bi...

    gougoujiang 评论0 收藏0
  • keepalived+nginx+tomcat高可用负载均衡

    摘要:前提配置环境变量准备服务器或者虚拟机,以及环境,这个是必须的前提啊,我相信你可以的。关掉主机,主机监控到无后,自动切换 前提-配置java环境变量 准备centos服务器或者虚拟机,以及JAVA环境,这个是必须的前提啊,我相信你可以的。 tomcat # 下载 curl http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.31/bi...

    alogy 评论0 收藏0

发表评论

0条评论

gityuan

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<