Nginx是大型架构核心,下面我重点详解Nginx性能实战@mikechen
动静分离架构
在百万级 QPS 的高并发场景下,如果你的系统响应变慢。
80% 的情况并不是后端逻辑太复杂,而是你的架构太“重”。

很多工程师习惯将前端静态资源(JS/CSS/图片)、和后端业务代码(Java/Go/Python)混在一起部署。
这种“动静耦合”的架构,在流量激增时会迅速拖垮应用服务器,导致连接池溢出、内存飙升。
今天,我们就来拆解高并发架构的“第一板斧”——动静分离。
Nginx动静分离
Nginx动静分离的核心思想,是把静态资源、和动态请求分开处理。
静态资源通常:包括 HTML、CSS、JavaScript、图片、字体文件等。

动态请求一般是接口、业务页面、数据库相关操作等。
让 Nginx 专注于高效分发图片、CSS、JS 等文件,后端只处理业务逻辑。
这类架构改造往往能显著降低后端压力,提升页面响应速度。
很多资料都指出静态资源响应可以提升 5-10 倍,并减少后端 CPU 占用。
Nginx动静分离实战
标准架构如下:
CDN(可选)
↓
Nginx
/ \
静态资源 动态请求
↓ ↓
本地磁盘 应用服务器集群
(Tomcat / Spring Boot)
静态资源部署:
本地磁盘(简单);
server {
listen 80;
server_name yourdomain.com;
location /static/ {
root /data/www;
expires 30d;
access_log off;
}
}
对象存储(OSS / S3);
CDN 加速(强烈建议),一般都是需要走CDN的:
用户 → CDN → Nginx → 后端
动态请求:
走 upstream;
server {
listen 80;
location /static/ {
root /data/www;
expires 7d;
}
location / {
proxy_pass http://backend;
}
}
动静分离特别适合门户站、内容站、电商首页、活动页、下载页这类静态资源占比高的系统。
在秒杀、活动抢购、首页大图、商品详情页这些场景里,静态资源越多,动静分离带来的收益越明显。