Nginx 静态服务实战:在一台服务器上托管多个独立前端项目配置

夏磊酱_8946

夏磊酱_8946

2026-05-07

676人浏览

原创

可以,而且很常见。一台服务器跑多个前端项目,核心靠nginx的多server块或精细化location分流,不需额外装服务、不改端口、不冲突资源;支持域名、端口、url路径前缀三种主流区分方式,并需注意文件权限、history路由兜底、静态资源缓存及独立日志配置。

nginx 静态服务实战:在一台服务器上托管多个独立前端项目配置

可以,而且很常见。一台服务器跑多个前端项目,核心靠 Nginx 的 多 server 块 或 精细化 location 分流,不需额外装服务、不改端口、不冲突资源。

用不同域名区分项目(推荐)

每个项目配一个独立域名(如 a.example.com、b.example.com),Nginx 通过 server_name 自动识别并路由到对应目录:

  • 确保 DNS 已将两个域名都解析到该服务器 IP,或开发阶段可在本地 /etc/hosts 绑定测试
  • 在 /etc/nginx/conf.d/a.conf 中写:
    server {
        listen 80;
        server_name a.example.com;
        root /usr/share/nginx/html/project-a;
        index index.html;
        location / {
            try_files $uri $uri/ /index.html;
        }
    }
  • 同理,b.conf 指向 /usr/share/nginx/html/project-b,server_name 改为 b.example.com
  • 重启生效:sudo nginx -t && sudo systemctl reload nginx

用不同端口区分项目(适合内网或测试)

若暂无域名,直接用端口区分最简单,比如 8080 和 8081:

前端设计优化skill
前端设计优化skill

前端设计与 UI/UX 全方位优化专家。覆盖视觉层次、排版系统、色彩理论、响应式布局、交互体验、动画动效、无障碍访问、性能优化八大维度,帮助开发者将普通页面升级为高品质产品级界面。前端设计与 UI/UX 全方位优化专家。覆盖视觉层次、排版系统、色彩理论、响应式布局、交互体验、动画动效、无障碍访问、性能优化八大维度,帮助开发者将普通页面升级为高品质产品级界面。

下载
  • 配置中去掉 server_name,只保留 listen 和 root
  • 注意开放对应端口(如 sudo ufw allow 8080),防火墙别拦住
  • 前端构建时需设 publicPath 或 base 为相对路径(如 "./"),避免资源 404

用 URL 路径前缀区分(单域名多项目)

所有项目共用一个域名(如 www.example.com),靠路径区分,例如:
www.example.com/app1/ → 项目一
www.example.com/app2/ → 项目二

  • 每个项目构建时必须指定 base: "/app1/"(Vite)或 publicPath: "/app1/"(Vue CLI),否则 JS/CSS 路径会错
  • Nginx 配置示例:
    location /app1/ {
        alias /usr/share/nginx/html/project-a/;
        index index.html;
        try_files $uri $uri/ /app1/index.html;
    }
    location /app2/ {
        alias /usr/share/nginx/html/project-b/;
        index index.html;
        try_files $uri $uri/ /app2/index.html;
    }
  • 注意:alias 结尾带斜杠,且 try_files 后的 fallback 要带前缀路径

关键细节不能漏

不管哪种方式,这几个点直接影响是否能正常访问:

  • 文件权限:Nginx 进程(通常是 www-data 或 nginx 用户)必须对项目目录有读取和执行权限,建议:sudo chown -R www-data:www-data /usr/share/nginx/html/project-a
  • History 路由兜底:Vue/React 项目启用 history 模式时,try_files $uri $uri/ /index.html 必须存在,否则刷新页面 404
  • 静态资源缓存:加一句 expires 1y; 在 location ~ \.(js|css|png|jpg|gif)$ 块里,提升加载速度
  • 日志定位问题:每个 server 块单独配 access_log 和 error_log,出问题一眼看到是哪个项目报错

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2563

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

5563

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

6570

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

6218

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

883

5

服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

940

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

3052

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

1016

5

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程