实战演示 Nginx 部署 Vue 项目时如何通过 alias 映射多个静态资源目录

小枫君_3380

小枫君_3380

2026-04-16

1039人浏览

原创

必须用 alias 而非 root,因 alias 精准替换路径前缀(如 /admin/ → 剥离后拼接),适配 vue 子应用非根部署;root 是简单拼接,易致资源 404。

实战演示 nginx 部署 vue 项目时如何通过 alias 映射多个静态资源目录

部署 Vue 项目时用 alias 映射多个静态资源目录,核心是让不同 URL 路径精准指向各自物理目录,互不干扰,尤其适合一个 Nginx 实例托管管理后台、用户前台、文档中心等多子应用的场景。关键不在“多”,而在“映射干净”——每个 location 独立生效,路径前缀被完整剥离,资源定位不依赖 URL 层级。

为什么必须用 alias,而不是 root?

root 是拼接:配置 root /var/www + 请求 /admin/js/app.js → 实际找 /var/www/admin/js/app.js。
alias 是替换:配置 location /admin/ { alias /var/www/admin/; } + 同样请求 → 实际找 /var/www/admin/js/app.js(/admin/ 被完全去掉,再拼剩余路径)。

这对 Vue 子应用至关重要:打包后资源路径基于 publicPath,若部署在 /admin/ 下,用 root 会导致资源路径多套一层前缀,极易 404;而 alias 天然适配非根路径部署。

基础多目录映射配置示例

假设三个 Vue 项目构建产物分别放在:

  • 管理后台:/var/www/admin/ → 访问地址 https://example.com/admin/
  • 用户前台:/var/www/web/ → 访问地址 https://example.com/
  • API 文档:/opt/swagger-ui/ → 访问地址 https://example.com/api/v1/docs/

对应 Nginx 配置:

vue-composition-api-best-practices
vue-composition-api-best-practices

Vue 3 组合式 API 与

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
uni-app快速上手
uni-app快速上手

共0课时 | 0人学习

Vue 教程
Vue 教程

共42课时 | 17.2万人学习

Vue3.x 工具篇--十天技能课堂
Vue3.x 工具篇--十天技能课堂

共26课时 | 2.5万人学习