Nginx实现(动静分离)

动静分离应该是听的次数较多的性能优化方案,那先思考一个问题:「「为什么需要做动静分离呢?它带来的好处是什么?」」 其实这个问题也并不难回答,当你搞懂了网站的本质后,自然就理解了动静分离的重要性。先来以淘宝为例分析看看:

当浏览器输入www.taobao.com访问淘宝首页时,打开开发者调试工具可以很明显的看到,首页加载会出现100+的请求数,而正常项目开发时,静态资源一般会放入到resources/static/目录下:

在项目上线部署时,这些静态资源会一起打成包,那此时思考一个问题:「「假设淘宝也是这样干的,那么首页加载时的请求最终会去到哪儿被处理?」」 答案毋庸置疑,首页100+的所有请求都会来到部署WEB服务的机器处理,那则代表着一个客户端请求淘宝首页,就会对后端服务器造成100+的并发请求。毫无疑问,这对于后端服务器的压力是尤为巨大的。

但此时不妨分析看看,首页100+的请求中,是不是至少有60+是属于*.js、*.css、*.html、*.jpg.....这类静态资源的请求呢?答案是Yes

既然有这么多请求属于静态的,这些资源大概率情况下,长时间也不会出现变动,那为何还要让这些请求到后端再处理呢?能不能在此之前就提前处理掉?当然OK,因此经过分析之后能够明确一点:「「做了动静分离之后,至少能够让后端服务减少一半以上的并发量。」」 到此时大家应该明白了动静分离能够带来的性能收益究竟有多大。

一、准备工作

1、在 linux 根目录下新建 static 目录,并在此目录下分别新建 image 目录和 page 目录,在 image 目录中放入准备好的图片 nice.jpg,在 page 目录中放入准备好的页面 a.html

2、在 tomcat 下的 webapps 目录下 新建 txt目录,在 txt目录中放入提前准备好的页面 hello.txt

3、关闭 linux 系统的防火墙或者开放需要被访问的端口

二、具体配置

1、修改 linux 系统中nginx的配置文件 nginx.conf,默认在 /usr/local/nginx/conf 目录下。

将配置文件中server块的内容修改成如下形式:

2、修改配置文件后,启动nginx服务 nginx 访问http://IP地址/路径名称

相关推荐
代码熬夜敲Q1 小时前
ENSP 网络工程实验
linux·运维·服务器
銳昊城1 小时前
项目七: 配置与管理Web服务器(2) C2
运维·服务器
Muyuan19981 小时前
30.通过Claude code做项目系统测试
运维·服务器·人工智能·fastapi
yyuuuzz1 小时前
aws的核心概念与常见使用场景
运维·服务器·网络·云计算·aws
KivenMitnick2 小时前
LovelyERes:AWD适用的蓝队综合工具
运维·安全·网络安全
赵药师2 小时前
dpkg: warning: files list file for package ‘libselinux1:amd64‘ missing;
linux·运维·服务器
zt1985q2 小时前
本地部署开源内容管理系统 Typemill 并实现外部访问
运维·服务器·开源
ElevenS_it1882 小时前
网络没完全断但业务已经受影响:「灰色故障」排查的完整方法论
运维·服务器·网络
MXsoft6184 小时前
**自动化运维落地:解放双手,让运维效率翻倍**
运维·自动化
STDD4 小时前
Alien Swarm《异星虫群》: Reactive Drop 专用服务器搭建教程
运维·服务器·github