12. Nginx动静分离

Posted 思过崖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了12. Nginx动静分离相关的知识,希望对你有一定的参考价值。

一般来说,静态资源是指javascript、CSS、Img等文件,动态资源则是通过php、Java等后端语言运行一系列的代码逻辑来获取的。

如果是静态资源的请求,就直接让nginx在静态资源目录下面读取,然后返回给客户端

如果是动态资源的请求,则nginx利用反向代理把请求转发给后端应用去处理,然后后端应用将结果返回给nginx,nginx再返回给客户端

在使用前后端分离之后,可以很大程度的提升静态资源的访问速度,同时减轻后端应用的处理压力。拿PHP之Laravel框架来说,简单的获取一个静态文件,就需要初始化框架代码,这个过程也比较耗时,性价比是很低的

# 动态内容 
location ~ \\.php$ {
    root          html;
    fastcgi_pass  127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    include        fastcgi_params;
}

# 静态内容
location ~ \\.(png|jpeg|jpg|js|css|woff|ttf)$ {
    expires 1h;
} 

当然,如果有条件的话,还是建议将静态资源存放到七牛或阿里云OSS中,利用CDN可以获取更快的静态资源加载速度

专题阅读

以上是关于12. Nginx动静分离的主要内容,如果未能解决你的问题,请参考以下文章

Nginx 动静分离概述

Nginx 动静分离概述

nginx+tomcat动静分离

Nginx---动静分离

15.Nginx动静分离Rewrite

Nginx系列:Nginx + keepalived 实现高可用 + 防盗链 + 动静分离