快捷搜索:  汽车  科技

一个简单的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"); }

  1. 不使用nginx,看请求结果

一个简单的Nginx动静分离实践(一个简单的Nginx动静分离实践)(1)

/test/hello

一个简单的Nginx动静分离实践(一个简单的Nginx动静分离实践)(2)

jQuery请求

从请求结果看,后端接口和js的请求都会去请求后端服务器,而实际上,像js,css这类的静态资源有必要每次都去后端请求吗?显然是没必要的,那么我们就可以把这类资源放在nginx上,对于这类的请求直接去nginx上拿,后端服务器不在处理这类请求了,性能自然也会提升。

2 . 使用nginx处理静态资源

至于nginx的下载,这里就不说了,直接去官网下载解压即可。小编这里用的window版的。

  • 下载下来后,修改nginx.conf文件,在下面的位置添加一个 /static/ 拦截 即可。然后在下面配置一个proxy_pass http://localhost:9000 因为web是以9000端口启动的,小编这里的myhosts是在上面配置的。

一个简单的Nginx动静分离实践(一个简单的Nginx动静分离实践)(3)

动静分离

  • 然后在nginx的html目录中新建一个static目录,再把原来web项目的静态资源剪切到nginx的static目录,这里小编把resources/static目录下的js文件夹剪切到了nginx的static下。
  • 修改原来index.html中引用jQuery的路径,在前面加上 /static。

一个简单的Nginx动静分离实践(一个简单的Nginx动静分离实践)(4)

js引用

  • 接着双击nginx目录下的nginx.exe,黑框一闪而过即表示启动了。
  • 因为nginx默认监听的是80端口,所以这里直接访问 localhost/test/hello

观察请求结果:js请求是去80端口上拿的。成功实现了nginx的动静分离!

一个简单的Nginx动静分离实践(一个简单的Nginx动静分离实践)(5)

nginx:/test/hello

一个简单的Nginx动静分离实践(一个简单的Nginx动静分离实践)(6)

nginx:js

结语

ok,今天的分享就到这里了,如果这篇文章对你有帮助的话,请点个赞加关注吧[呲牙]

猜您喜欢: