Nginx是大型架构的必备技能,下面我重点详解Nginx动静分离原理@mikechen
文章来源:mikechen.cc
Nginx动静分离
动静分离:指的是动态请求、和静态请求的分离处理。
如下图所示:

列如:将网站的静态资源(如 HTML、CSS、JavaScript、图片…等)。
和动态资源(如 PHP、JSP、Python 脚本…等)分开处理。
由不同的服务器或服务进行响应,从而提高网站的整体性能和可伸缩性。
Nginx动静分离原理
Nginx动静分离原理,主要依赖 Nginx 的 location 匹配机制。
静态资源路径(如 /static/、/images/)直接映射到本地目录。
其他请求则通过 proxy_pass 转发给后端动态服务器。

如下所示:
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
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...
