关注△mikechen△,十余年BAT架构经验倾囊相授!

Nginx是大型架构的必备技能,下面我详解Nginx动静分离技术@mikechen
文章来源:mikechen.cc
Nginx动静分离
动静分离:是一种将动态请求、和静态请求,分开处理的Web架构优化策略。

Nginx动静分离,就是将网站的静态资源(如HTML、CSS、JavaScript、图片等)。
和动态内容(如PHP、Python等动态生成的页面),分别由不同的服务器或服务处理。
Nginx动静分离原理
Nginx通过配置不同的location、和upstream,可以轻松实现动静分离。
整体实现,如下图所示:

如果URL匹配到预设的静态资源规则(例如.html, .css, .js, .jpg, .png等后缀),Nginx会直接从本地文件系统、或缓存中返回这些静态文件。
如果URL匹配到动态资源规则(例如.php, .jsp, /api/等路径),Nginx会将请求转发给后端的应用服务器处理。
配置,如下:
server { listen 80; server_name example.com; # 静态资源处理 location ~* .(jpg|jpeg|png|gif|css|js)$ { root /data/static/; expires 30d;# 设置浏览器缓存} # 动态请求转发 location /{ proxy_pass http://backend_server;}}
匹配静态资源:通过正则表达式或文件后缀(如.jpg、.css、.js)指定静态资源的路径,直接由Nginx提供服务。
匹配动态资源:通过URL特征(如/api/或.php)将请求转发给后端服务器。
以上
文章来源:mikechen.cc
© 版权声明
文章版权归作者所有,未经允许请勿转载。

收藏了,感谢分享