使用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)
上一篇 2022年5月1日 下午4:40
下一篇 2022年5月1日 下午5:00


相关推荐

  • 内存对齐宏的定义

    内存对齐宏的定义

    2021年8月20日
    51
  • Spark Streaming Join

    Spark Streaming Join多数据源Join思路多数据源Join大致有以下三种思路:数据源端Join,如Android/IOS客户端在上报用户行为数据时就获取并带上用户基础信息。计算引擎上Join,如用SparkStreaming、Flink做Join。结果端Join,如用HBase/ES做Join,Join键做Rowkey/_id,各字段分别写入列簇、列或field。三种思路各有优劣,使用时注意…

    2022年6月30日
    24
  • 数据库学习 – select(多表联查)[通俗易懂]

    多表联合查询多表联合查询可以通过连接运算实现,而连接运算又可以通过广义笛卡尔积后在进行选择运算来实现。 Select多表联合查询语句Select列名[[,列名]…]from表名1,表名2,,…Where查询条件; 可以使用as为表或者字段(属性)取别名; Select列名[[,列名]…]from表名1[as]别名1,表名

    2022年4月4日
    634
  • Netty权威指南学习笔记

    Netty权威指南学习笔记最近花了一段时间系统的学习了Netty框架,包括《NettyinAction》以及《Netty权威指南》,对于博主自己来说,我觉得《Netty权威指南》要更适合博主。很厚的《Netty权威指南》权威指南,虽然上面一大部分是例子代码,当然有种跟着Netty官网学小demo的感觉。好记性不如烂笔头,所有代码均手抄Maven实现了一遍,所有例子均可运行,当然自己的学习笔记。Chapter2…

    2022年10月2日
    2
  • 深刻理解空间(线性空间,度量空间,赋范空间,线性赋范空间,内积空间,巴拿赫空间以及希尔伯特空间)

    深刻理解空间(线性空间,度量空间,赋范空间,线性赋范空间,内积空间,巴拿赫空间以及希尔伯特空间)在我们学习矩阵理论和统计理论的时候 总是会出现 空间 在之前的时候对于空间理解的过程中 总是试图拿出一个具体的例子来加深自己的理解 但是这样做是不对的 因为如果说对于类似 欧几里何空间 这样的空间 跟我们生活中的三维空间极为相似 我们确实可以想象到一个具体的例子 但是对于类似 希尔伯特空间 之类的 我们很难用一个具体的实例来印证 所以 空间 到底是个什么东西呢 很感谢交大王老师的公

    2026年3月26日
    2
  • vue.js打包后,接口安全问题

    vue.js打包后,接口安全问题

    2021年10月13日
    87

发表回复

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

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