学 Nginx 不要一上来就碰负载均衡。先做最基本的事:让城市总闸口直接发静态文件。
http {
server {
listen 80;
server_name localhost;
root /srv/www/site;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
}如果目录结构是:
/srv/www/site
├── index.html
├── about.html
└── assets
├── app.js
└── app.css那么请求流会是:
GET / -> /srv/www/site/index.html
GET /about.html -> /srv/www/site/about.html
GET /assets/app.css -> /srv/www/site/assets/app.css这就是 Nginx 最基础、也最擅长的能力之一:发静态资源。
如果你部署的是前端单页应用,还经常会这样写:
location / {
try_files $uri $uri/ /index.html;
}含义是:
- 先找真实文件
- 再找真实目录
- 都没有,就回退到
index.html
这很像城市总闸口的导流牌:
请求的路确实存在 -> 直接放行
请求的路不存在 -> 统一导到前端主入口大厅每次改完配置,先做两步:
nginx -t
nginx -s reload第一步是“检查总闸口施工图有没有语法问题”,第二步是“平滑换新图纸”。