一个简单的Nginx动静分离实践(一个简单的Nginx动静分离实践)
一个简单的Nginx动静分离实践(一个简单的Nginx动静分离实践)js引用动静分离从请求结果看,后端接口和js的请求都会去请求后端服务器,而实际上,像js,css这类的静态资源有必要每次都去后端请求吗?显然是没必要的,那么我们就可以把这类资源放在nginx上,对于这类的请求直接去nginx上拿,后端服务器不在处理这类请求了,性能自然也会提升。2 . 使用nginx处理静态资源至于nginx的下载,这里就不说了,直接去官网下载解压即可。小编这里用的window版的。
nginx是什么简单的一句话介绍就是:Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
nginx能做什么- 反向代理:客户端将请求发给反向代理服务器,由反向代理服务器去选择目标服务器,获取数据后返回给客户端,对外暴露的是代理服务器的地址,隐藏了真实服务器的地址。
- 负载均衡:前端有大量请求到达服务器,根据配置将请求分发到不同的服务器上,降低单台服务器的压力。
- 动静分离:为了加快网站解析的速度,没必要每次都去后端请求,可以将一些静态资源由单独的服务器来解析,减少后端服务器的压力,提高解析速度。
先建一个web工程,然后在templates目录下建一个index.html,内容随便写点东西,然后在页面引入一个js文件,比如jQuery。最后写一个HelloController,如下
@GetMapping("/hello")
public ModelAndView testi18n() {
return new ModelAndView("index");
}
- 不使用nginx,看请求结果
/test/hello
jQuery请求
从请求结果看,后端接口和js的请求都会去请求后端服务器,而实际上,像js,css这类的静态资源有必要每次都去后端请求吗?显然是没必要的,那么我们就可以把这类资源放在nginx上,对于这类的请求直接去nginx上拿,后端服务器不在处理这类请求了,性能自然也会提升。
2 . 使用nginx处理静态资源
至于nginx的下载,这里就不说了,直接去官网下载解压即可。小编这里用的window版的。
- 下载下来后,修改nginx.conf文件,在下面的位置添加一个 /static/ 拦截 即可。然后在下面配置一个proxy_pass http://localhost:9000 因为web是以9000端口启动的,小编这里的myhosts是在上面配置的。
动静分离
- 然后在nginx的html目录中新建一个static目录,再把原来web项目的静态资源剪切到nginx的static目录,这里小编把resources/static目录下的js文件夹剪切到了nginx的static下。
- 修改原来index.html中引用jQuery的路径,在前面加上 /static。
js引用
- 接着双击nginx目录下的nginx.exe,黑框一闪而过即表示启动了。
- 因为nginx默认监听的是80端口,所以这里直接访问 localhost/test/hello
观察请求结果:js请求是去80端口上拿的。成功实现了nginx的动静分离!
nginx:/test/hello
nginx:js
结语ok,今天的分享就到这里了,如果这篇文章对你有帮助的话,请点个赞加关注吧[呲牙]