Nginx前端部署指南:手把手教你部署Vue/React项目

胖婷同学_7853

胖婷同学_7853

2026-04-28

1018人浏览

原创

核心三步:打包生成dist/build目录;将内容复制到nginx可读的独立路径(如/var/www/my-app);配置location块使用try_files $uri $uri/ /index.html支持spa路由,避免刷新404。

nginx前端部署指南:手把手教你部署vue/react项目

Vue 和 React 项目部署到 Nginx,核心就三件事:打包、放文件、改配置。只要每步操作到位,基本不会卡在 404 或资源加载失败上。

一、先打好前端包

项目开发完成后,必须生成静态资源包才能部署:

  • Vue 项目运行 npm run build(或 yarn build),输出默认在 dist/ 目录
  • React 项目同理,执行 npm run build,也会生成 build/ 或 dist/ 目录(取决于脚手架配置)
  • 确认生成的目录里有 index.html、static/(或 assets/)和各类 JS/CSS 文件
  • 如需部署到二级路径(比如 /admin),Vue 项目需在 vue.config.js 中设置 publicPath: '/admin/';React 项目则在 package.json 中加 "homepage": "/admin/",再打包

二、把文件放到 Nginx 能访问的位置

不要直接丢进 root 或 /home 等高权限目录,避免 403 错误:

  • 推荐新建独立目录,例如 /var/www/my-vue-app 或 /usr/share/nginx/html/my-react
  • 将打包后的整个 dist(或 build)目录内容复制进去,不是把 dist 文件夹整个放进去
  • 确保 Nginx 进程对这个目录有读取权限:可执行 chown -R nginx:nginx /var/www/my-vue-app(CentOS/RHEL)或 chown -R www-data:www-data /var/www/my-vue-app(Ubuntu/Debian)

三、关键:Nginx 配置要支持单页应用(SPA)

Vue Router 和 React Router 默认用 history 模式,刷新页面时 URL 不带 #,Nginx 必须兜底返回 index.html,否则 404:

Ainative React Sdk
Ainative React Sdk

使用 @ainative/react-sdk 为 React 应用添加 AI 聊天和积分。适用于 (1) 安装 @ainative/react-sdk,(2) 使用 useChat hook 实现聊天完成。

下载
  • 编辑 /etc/nginx/nginx.conf 或站点配置文件(如 /etc/nginx/sites-enabled/myapp)
  • 在 server 块中添加或修改 location / 区块:
location / {
  root /var/www/my-vue-app;
  index index.html;
  try_files $uri $uri/ /index.html;
}

如果部署在子路径(如 /dashboard),用 alias 更稳妥:

location /dashboard {
  alias /var/www/my-react/;
  index index.html;
  try_files $uri $uri/ /index.html;
}

注意:alias 后路径末尾要加 /,且 root 和 alias 不能混用在同一 location 中。

四、顺便解决常见连带问题

上线后常遇到的几个典型情况,一并配好省得返工:

  • API 跨域:在 Nginx 中代理后端请求,比如把 /api/ 转发到真实接口地址:
    location /api/ {
      proxy_pass http://192.168.1.100:8080/;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
    }
  • 静态资源缓存:在 location ~* \.(js|css|png|jpg|gif|ico)$ 块中加 expires 1y; 和
  • 重启生效:配置保存后,运行 nginx -t 检查语法,再执行 systemctl reload nginx(或 /usr/sbin/nginx -s reload)

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

相关专题

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

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

2023.08.11

2323

5

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

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

2023.10.09

5003

6

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

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

2024.03.19

6090

13

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

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

2024.03.22

5618

10

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

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

2024.05.22

803

5

C语言变量命名
C语言变量命名

c语言变量名规则是:1、变量名以英文字母开头;2、变量名中的字母是区分大小写的;3、变量名不能是关键字;4、变量名中不能包含空格、标点符号和类型说明符。php中文网还提供c语言变量的相关下载、相关课程等内容,供大家免费下载使用。

2023.06.20

2949

3

c语言入门自学零基础
c语言入门自学零基础

C语言是当代人学习及生活中的必备基础知识,应用十分广泛,本专题为大家c语言入门自学零基础的相关文章,以及相关课程,感兴趣的朋友千万不要错过了。

2023.07.25

2228

9

c语言运算符的优先级顺序
c语言运算符的优先级顺序

c语言运算符的优先级顺序是括号运算符 > 一元运算符 > 算术运算符 > 移位运算符 > 关系运算符 > 位运算符 > 逻辑运算符 > 赋值运算符 > 逗号运算符。本专题为大家提供c语言运算符相关的各种文章、以及下载和课程。

2023.08.02

1180

5

c语言数据结构
c语言数据结构

数据结构是指将数据按照一定的方式组织和存储的方法。它是计算机科学中的重要概念,用来描述和解决实际问题中的数据组织和处理问题。数据结构可以分为线性结构和非线性结构。线性结构包括数组、链表、堆栈和队列等,而非线性结构包括树和图等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.09

1118

4

热门下载

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

精品课程

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

共0课时 | 0人学习

Vue 教程
Vue 教程

共42课时 | 17万人学习

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

共26课时 | 2.5万人学习