最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Nginx 中怎么实现静态资源按域名进行分类服务
时间:2026-07-03 09:55:52 编辑:袖梨 来源:一聚教程网
Nginx可通过多个server块按域名隔离静态资源服务:每个server_name绑定独立root目录,支持全局root继承与alias精准映射前缀路径,并可按环境配置访问控制、日志及缓存策略。
直接用 多个 server 块 + 不同的 server_name 和 root 就能实现按域名分类服务静态资源,不需要改代码、不依赖后端,纯靠 Nginx 配置隔离。
域名与根目录一对一绑定
每个域名对应独立物理目录,Nginx 通过 server_name 匹配后,把请求路由到专属 root 路径:
-
dev.example.com→root /var/www/dev; -
test.example.com→root /var/www/test; -
prod.example.com→root /var/www/prod;
确保 DNS 或 /etc/hosts 已解析这些域名到服务器 IP。HTML、JS、CSS、图片等文件放对应目录下,访问即生效。
避免路径混用:慎用全局 root
如果所有域名共用同一套静态文件(比如公共图标、通用 CSS),可把 root 放在 http 块顶层,让所有 server 继承:
http { root /var/www/static; ... }- 各
server只需写server_name,不用再设root
⚠️ 注意:某个 server 若单独写了 root,会覆盖全局设置——容易误配导致资源错乱。
带前缀的资源用 alias,末尾必须加斜杠
前端构建后 URL 带固定前缀(如 /static/js/app.js),但磁盘路径不含该层级,要用 alias 精准映射:
-
location /static/ { alias /data/assets/; }✅ 正确(alias值末尾有/) -
location /static/ { root /data/assets; }❌ 错误(会拼成/data/assets/static/)
若存在多个前缀(如 /web/ 和 /web/test/),可用 try_files + rewrite 回退处理。
按环境差异化配置
不同域名可启用不同行为,提升协作效率和安全性:
- 开发环境:开
autoindex on;方便浏览目录;加add_header X-Env "dev"; - 测试环境:限制内网访问,
allow 192.168.1.0/24; deny all; - 生产环境:关
server_tokens;加expires 1y;和Cache-Control public
每套环境配独立日志路径(如 access_log /var/log/nginx/prod.access.log;),排查问题不干扰。
相关文章
- 炉石传说掉线后无法重连?快速解决重新连接失败问题 07-10
- 趣盘搜网页版入口-趣盘搜官网地址-趣盘搜入口官方网页版 07-10
- 炉石传说闪退原因与有效解决方法大全 07-10
- 炉石传说闪退怎么办?全面解决闪退问题的实用方法 07-10
- 炉石传说梵妮莎大头目角色详解:背景故事 卡牌效果 与实战应用 07-10
- 炉石传说闪退原因及解决方法详解 07-10