Nginx动静分离原理详解(图解+秒懂)

内容分享22小时前发布 梦何殊
0 0 0

Nginx是大型架构的必备技能,下面我重点详解Nginx动静分离原理@mikechen

文章来源:mikechen.cc

Nginx动静分离

动静分离:指的是动态请求、和静态请求的分离处理。

如下图所示:

Nginx动静分离原理详解(图解+秒懂)

列如:将网站的静态资源(如 HTML、CSS、JavaScript、图片…等)。

和动态资源(如 PHP、JSP、Python 脚本…等)分开处理。

由不同的服务器或服务进行响应,从而提高网站的整体性能和可伸缩性。

Nginx动静分离原理

Nginx动静分离原理,主要依赖 Nginx 的 location 匹配机制。

静态资源路径(如 /static//images/)直接映射到本地目录。

其他请求则通过 proxy_pass 转发给后端动态服务器。

Nginx动静分离原理详解(图解+秒懂)

如下所示:

server {    listen 80;    server_name example.com; # 静态资源处理    location ~* .(jpg|jpeg|gif|png|css|js|ico)$ {# 设置静态文件根目录        root /var/www/static;# 开启缓存,有效期为30天        expires 30d;} # 动态资源处理    location /{# 将所有非静态资源的请求代理到后端服务器        proxy_pass http://localhost:8080;        proxy_set_header Host $host;        proxy_set_header X-Real-IP $remote_addr;        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}

Nginx 会根据 URL 的路径或文件扩展名,匹配相应的 location 块。

如果 URL 匹配到静态资源的 location,Nginx 会直接在本地文件系统中查找并返回文件给用户。

如果 URL 匹配到动态资源的 location,Nginx 会将请求 反向代理 到后端应用服务器(如 PHP-FPM 或 Tomcat)。

这种方式一般用于大型网站,将静态资源部署在专门的静态资源服务器上,与处理动态内容的服务器完全分开。

以上

文章来源:mikechen.cc

© 版权声明

相关文章

暂无评论

none
暂无评论...