Nginx动静分离

什么是Nginx动静分离

在 Web 开发中,通常来说,动态资源其实就是指那些后台资源,而静态资源就是指 HTML,JavaScript,CSS,img 等文件。

一般来说,都需要将动态资源和静态资源分开,将静态资源部署在 Nginx 上,当一个请求来的时候,如果是静态资源的请求,就直接到 nginx 配置的静态资源目录下面获取资源,如果是动态资源的请求,nginx 利用反向代理的原理,把请求转发给后台应用去处理,从而实现动静分离。

在使用前后端分离之后,可以很大程度的提升静态资源的访问速度,同时在开过程中也可以让前后端开发并行可以有效的提高开发时间,也可以有些的减少联调时间 。

Nginx动静分离详解

Nginx 动静分离,通过中间件将动态请求和静态请求进行分离,分离资源,减少不必要的请求消耗,减少请求延时。

动静分离后, 即使动态服务不可用,但静态资源不会受到影响。通过中间件将动态请求和静态请求分离:

01_nginx动静分离.png

Nginx 动静分离案例

02_nginx动静分离.png

Nginx动静分离配置案例

Nginx动静分离核心配置

#动静分离 server{ listen 80; server_name cc.com; access_log off; location ~* \.(png|jpg|js|css)$ { root /usr/haicoder/static; #所有以.png .html .js .css 结尾的 url 进入此路径 (png|html|js|css) } location /{ index index.html index.htm; proxy_pass http://127.0.0.1:8080/m/;#注意这里的/的含义见下文 } }

在 Nginx 中配置 proxy_pass 代理转发时,如果在 proxy_pass 后面的 url 加 /,表示绝对根路径;如果没有 /,表示相对路径,把匹配的路径部分也给代理走。

Nginx动态分离实战

我们首先,使用 vim 修改 /etc/nginx/conf.d/default.conf 配置,具体命令如下:

vim /etc/nginx/conf.d/default.conf;

现在,我们修改静态资源文件的路径,具体配置如下:

location ~* \.(png|jpg|js|css)$ { root /usr/haicoder/static; }

修改完毕后,如下图所示:

03_nginx动静分离.png

现在,我们启动 nginx,具体命令如下:

nginx

现在,我们使用浏览器访问,此时页面如下:

04_nginx动静分离.png

我们看到,此时,我们访问了静态资源的图片文件。

Nginx动静分离总结

在 Web 开发中,通常来说,动态资源其实就是指那些后台资源,而静态资源就是指 HTML,JavaScript,CSS,img 等文件。

Nginx 动静分离,通过中间件将动态请求和静态请求进行分离,分离资源,减少不必要的请求消耗,减少请求延时。