使用nginx实现动静分离「建议收藏」

使用nginx实现动静分离「建议收藏」一、什么是动静分离动静分离是指在web服务器架构中,将静态页面与动态页面或者静态内容接口和动态内容接口分开不同系统访问的架构设计方法,进而提升整个服务访问性能和可维护性。nginx的动静分离,指的是由nginx将客户端请求进行分类转发,静态资源请求(如html、css、图片等)由静态资源服务器处理,动态资源请求(如jsp页面、servlet程序等)由tomcat服务器处理,tomcat本身是用来处理动态资源的,同时tomcat也能处理静态资源,但是tomcat本身处理静态资源的

大家好,又见面了,我是你们的朋友全栈君。

一、什么是动静分离

动静分离是指在web服务器架构中,将静态页面与动态页面或者静态内容接口和动态内容接口分开不同系统访问的架构设计方法,进而提升整个服务访问性能和可维护性。

nginx 的动静分离,指的是由 nginx 将客户端请求进行分类转发,静态资源请求(如html、css、图片等)由静态资源服务器处理,动态资源请求(如 jsp页面、servlet程序等)由 tomcat 服务器处理,tomcat 本身是用来处理动态资源的,同时 tomcat 也能处理静态资源,但是 tomcat 本身处理静态资源的效率并不高,而且还会带来额外的资源开销。利用 nginx 实现动静分离的架构,能够让 tomcat 专注于处理动态资源,静态资源统一由静态资源服务器处理,从而提升整个服务系统的性能 。

使用nginx实现动静分离「建议收藏」

二、使用nginx实现动静分离

案例:
在Windows浏览器中输入 192.168.1.103/jsp/hello.jsp,跳转到提前准备好的 jsp 页面,这个动态资源请求是有tomcat服务器处理的;输入 192.168.1.103/image/pika.jpg,跳转到提前准备好的图片,这个静态资源请求是由 linux 主机处理的;输入 192.168.1.103/page/a.html,跳转到提前准备好的 html 页面,这个静态资源请求是由 linux 主机处理的。

(1)准备工作
① 在 linux 根目录下新建 static 目录,并在此目录下分别新建 image 目录和 page 目录,在 image 目录中放入准备好的图片 pika.jpg,在 page 目录中放入准备好的页面 a.html
② 在 tomcat 下的 webapps 目录下 新建 jsp 目录,在 jsp 目录中放入提前准备好的页面 hello.jsp
③ 关闭 linux 系统的防火墙或者开放需要被访问的端口

(2)具体配置
① 修改 linux 系统中nginx的配置文件 nginx.conf,默认在 /usr/local/nginx/conf 目录下。
将配置文件中server块的内容修改成如下形式:

使用nginx实现动静分离「建议收藏」

 ② 保存修改并启动 nginx ,在Windows浏览器中输入相应请求地址,测试成功的结果如下所示:

<1> 访问 192.168.1.103/jsp/hello.jsp
使用nginx实现动静分离「建议收藏」

<2> 访问 192.168.1.103/image/pika.jpg
使用nginx实现动静分离「建议收藏」

<3> 访问 192.168.1.103/page/a.html使用nginx实现动静分离「建议收藏」

 

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133245.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • PIC 指令周期_三菱plc分钟计时指令

    PIC 指令周期_三菱plc分钟计时指令一、PIC指令周期计算:设工作频率为:F(MHz);1个指令周期为1/(F/4)秒。二、PIC的指令 即汇编指令,不同系列指令数不一样。  8位单片机共有三个级别,有相对应的指令集。基本级PIC系列芯片共有指令33条,每条指令是12位字长;中级PIC系列芯片共有指令35条,每条指令是14位字长;高级PIC系列芯片共有指令58条,每条指令是16位字长。其指令向下兼容

    2022年10月9日
    0
  • FPGA中的流水线设计(Pipeline Design)[通俗易懂]

    FPGA中的流水线设计(Pipeline Design)[通俗易懂]流水线设计前言:本文从四部分对流水线设计进行分析,具体如下:第一部分什么是流水线第二部分什么时候用流水线设计第三部分使用流水线的优缺点第四部分流水线加法器举例第一什么是流水线流水线设计就是将组合逻辑系统地分割,并在各个部分(分级)之间插入寄存器,并暂存中间数据的方法。目的是将一个大操作分解成若干的小操作,每一步小操作的时间较小,所以能提高频率,各小操作能并行执行,所以能…

    2022年8月14日
    25
  • Vue中 $attrs、$listeners 详解及使用

    Vue中 $attrs、$listeners 详解及使用1.前言多级组件嵌套需要传递数据时,通常使用的方法是通过vuex。如果仅仅是传递数据,而不做中间处理,使用vuex处理,未免有点杀鸡用牛刀。Vue2.4版本提供了另一种方法,使用v-bind=”$attrs”,将父组件中不被认为props特性绑定的属性传入子组件中,通常配合interitAttrs选项一起使用。之所以要提到这两个属性,是因为两者的出现使得组件之间跨组件的通信在不依赖vuex和事件总线的情况下变得简洁,业务清晰。首先分析以下应用场景A组件与B组件

    2022年10月18日
    0
  • mac goland 2021.12激活码_在线激活

    (mac goland 2021.12激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html3YVYA7ZZGQ-eyJsaWN…

    2022年3月30日
    146
  • Activity工作流学习

    Activity工作流学习点击打开链接1.初识Activiti1.1.工作流与工作流引擎工作流(workflow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。(我的理解就是:将部分或者全部的工作流程、逻辑

    2022年4月30日
    40
  • C#开源资源大汇总

    C#开源资源大汇总

    2021年7月26日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号