Nginx与Apache有什么区别?【详细介绍】

很高兴你能坚持经常过来支持笔者:沈俊仁,今天就来说说关于NginxApache有什么区别,以及Nginx,Apache服务器,资源,内容等等相关的各种干货,思路很重要,希望我整理分享的这篇文章对你能有一定的帮助!

Apache &Nginx

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 )(https://docs.oracle.com/javase/8/docs/jre/api/net/httpserver/spec/com/sun/net/httpserver/HttpServer.html)Python SimpleHTTPServer(https://docs.python.org/2/library/simplehttpserver.html)

使用这些类库能够非常容易的运行一个HTTP服务器,它们都能够通过绑定IP地址并监听TCP端口来提供HTTP服务。

Apache Tomcat

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的负载均衡功能可以把请求通过算法分发到各个不同的实例进行处理。

这上面就是整篇文章的所有内容了,希望能帮助到你们,认真、仔细阅读完Nginx与Apache有什么区别?【详细介绍】,对自己有帮助,麻烦记得点个赞哦!

本文发布者:站长老油条,不代表寂寞网立场,转载请注明出处:https://www.jimowang.com/p/18821.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 jimowangmail@126.com 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年11月29日 09:30
下一篇 2022年11月29日 09:32

相关推荐

  • 微信通讯录导出后如何备份与恢复(备份与恢复方法与步骤)

    微信通讯录导出后,如何进行备份与恢复呢?以下是具体的步骤和方法。 备份微信通讯录 1. 在电脑上安装微信电脑版,并登录自己的微信账号。2. 点击左下角的“更多”按钮,选择“备份与恢复”。3. 在弹出的界面中选择“备份聊天记录到电脑”。4. 等待备份完成后,在同一个界面中选择“管理备份文件”。5. 在弹出的窗口中选择要备份的微信账号,并找到备份文件的位置。6….

    2023年9月11日
  • HTML5视频自动循环播放方法【详细介绍】

    HI,小伙伴们你们好,今天何泽湘比较忙,抽个时间来说下关于HTML5视频自动循环播放方法,还有关于HTML5视频播放视频,属性,模板等一系列的内容,成功的路上不会一帆风顺,每一个成功的背后都有一个惊人的故事。 如果需要在网页中添加视频,可以参考下面的代码,支持MP4视频自动循环播放。 纯HTML5视频自动循环播放 不过火狐浏览器貌似默认禁止自动播放音频视频,…

    2022年9月13日
  • 如何选择适合自己公司的oa系统(选择技巧和建议)

    如何选择适合自己公司的OA系统(选择技巧和建议) 随着信息化时代的到来,越来越多的企业意识到办公自动化系统(OA系统)对提高工作效率和管理水平的重要性。选择一个适合自己公司的OA系统是一项关键决策,下面将为您介绍一些选择OA系统的技巧和建议。 1. 了解自身需求 在选择OA系统之前,首先需要了解自身公司的需求。考虑到公司的规模、行业特点、工作流程等因素,明确…

    2023年9月3日
  • 如何提高b站视频的播放量和曝光率(视频制作技巧和推广策略)

    如何提高B站视频的播放量和曝光率 在B站上发布视频,想要获得更多的播放量和曝光率,需要掌握一定的视频制作技巧和推广策略。下面我们将为您详细介绍这些技巧和策略,帮助您提高B站视频的播放量和曝光率。 视频制作技巧 精心选择主题:在选择视频主题时,需要关注市场需求和观众兴趣。选择自己熟悉且受欢迎的领域,例如游戏、动漫、科技、教育等。同时,确保主题与观众口味相符,以…

    2023年8月30日
  • 百度编辑器代码高亮代码【最新推荐】

    HI,大家好,废话不多说,直接上干货:百度编辑器代码高亮代码,还有关于百度编辑器高亮代码,文件,插件等等其他相关干货,整理总结之后,我就想着写这篇文章和大家分享一下,因为毕竟新手朋友还是很多的! 百度编辑器代码如何高亮 在需要高亮的页面尾部加入高亮代码就可以了 SyntaxHighlighter.all(); 百度编辑器代码自动换行 找到高亮代码显示的css…

    2022年10月21日
  • 区块链是什么意思?【最新推荐】

    小伙伴们大家好,今天周一诺给大家分析下关于区块链是什么意思的问题,以及关于区块链区块,账本,数据这些的相关干货,希望各位能认真阅读。因为,只有这样才能真正理解和掌握! 区块链是目前非常流行的一种解决方案,那么区块链到底是什么了? 区块链截图 首先我们明确一个概念,区块链就是一个工具,它本身没有任何价值,也无所谓好坏,就像一个锄头,单独往那一放,产生不了什么价…

    2022年8月16日