全书目录

第十七篇:Nginx 完全指南 —— 城市总闸口宇宙

第十三章:常见误区 —— 城市总闸口最容易装错的地方

2 分钟 659 字 第 333 / 962 个阅读单元

下面这些坑,比语法错误更常见。

1. 以为 serverlocation 差不多。
不是。server 是“哪道闸门”,location 是“闸门里的哪条车道”。

2. 以为 location 是按书写顺序从上到下随便匹配。
不是。它有明确的精确匹配、最长前缀、正则优先规则。

3. 把 proxy_pass 结尾斜杠写错。
这会直接导致后端收到的 URI 变形,轻则 404,重则整套路由全错。

4. 改完配置直接 reload,不先 nginx -t
这等于城市总闸口不验图纸就开工。

5. 混淆 rootalias
root 是“把 URI 接到某个根目录后面”;alias 是“把当前 location 匹配段替换成另一个目录”。这两者路径拼接语义不同,写错经常就是静态资源 404。

6. 在 location 里到处堆 if
很多时候你真正要的,是更清晰的 location 分流、returntry_files,不是把闸口写成半套脚本语言。

7. 所有请求都丢给后端,连静态文件也不在 Nginx 处理。
这等于让每一辆送传单的车都开进市政府大厅。

8. 负载均衡后端是有状态单机,却还默认轮询。
结果就是用户一会儿登录、一会儿掉线。

9. 只看浏览器报错,不看 Nginx 日志。
总闸口明明已经写下了事故记录,你却只看门口堵车。

10. 把 Nginx 当成业务引擎。
Nginx 适合做边缘分流、代理、缓存、TLS、静态资源;复杂业务编排、用户态判断、数据库查询,不是它的主战场。