Nginx动静分离配置详解(图文全面总结)

B站影视 韩国电影 2025-05-30 17:38 2

摘要:HTML 文件 (.html, .htm);CSS 样式表 (.css);JavaScript 脚本 (.js);图片文件 (.jpg, .jpeg, .png, .gif, .svg);

大家好,我是mikechen睿哥。

Nginx是大型架构的必备中间件,下面我就全面来详解Nginx动静分离配置@mikechen

Nginx动静分离

动静分离,是指将动态请求、和静态请求分开处理,从而提升网站的访问性能和稳定性。

客户端请求|Nginx├──静态资源URL (如/static/img.jpg)→本地磁盘直接返回└──其他动态请求(如/user/info)→反向代理到后端服务器

常见的静态内容包括:

HTML 文件 (.html, .htm);CSS 样式表 (.css);JavaScript 脚本 (.js);图片文件 (.jpg, .jpeg, .png, .gif, .svg);

常见的动态内容由以下技术栈生成:

PHP;Python (Django, Flask);Java (Spring, Servlet);Node.js (Express);ASP.NET;

Nginx 的动静分离是一种非常有效的优化网站性能、和可伸缩性的方法。

Nginx动静分离配置

通过合理配置 location 指令,可以将静态资源请求由 Nginx 直接处理、或分发给专门的静态资源服务器。

从而,将动态资源请求代理给后端的应用服务器。

Nginx动静分离配置,如下:

server { listen 80; server_name www.example.com; root /usr/share/nginx/html;# 网站根目录 # 1. 静态资源访问 location /static/{alias/usr/share/nginx/html/static/; expires 30d; access_log off;} # 2. 静态资源后缀匹配 location ~* \.(jpg|jpeg|png|gif|ico|css|js|html|htm|woff|woff2|ttf|svg|eot)$ { root /usr/share/nginx/html; expires 30d; access_log off;} # 3. 动态请求转发 location /{ proxy_pass http://backend_server; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}} # 后端应用服务器集群upstream backend_server { server 127.0.0.1:8080;# 可以配多台,实现负载均衡}

location 指令是实现动静分离的核心,它可以根据请求的 URI 进行匹配,并执行相应的处理。

location /static/ 块(按路径分离静态资源)。

location / 块(动态请求代理)。

以上

本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。

来源:半夜看车资讯

相关推荐