React项目上线服务器配置完整指南(零基础也能照做)

1. 上线前需要准备什么

在动手配置之前,先把这几样东西准备好:

  • 一台 Linux 服务器(推荐 Ubuntu 20.04 或 CentOS 7+,本文以 Ubuntu 为例)。
  • 一个已打包的 React 项目(在本地运行 npm run build,生成的 build 目录就是我们要上传的)。
  • SSH 客户端(Windows 用 Xshell 或 Putty,Mac/Linux 直接用终端)。
  • 域名(可选,但建议用域名访问,方便 HTTPS 配置)。

如果你用宝塔面板,步骤可以简化,但本教程专注于命令行方式,零基础用户可以照着敲。

2. 服务器环境搭建与项目上传

登录服务器后,先安装 Nginx(用来托管静态文件):

sudo apt update
sudo apt install nginx -y

安装后检查 Nginx 是否运行:

sudo systemctl status nginx

如果看到 active (running) 就对了。
接着用 scprsync 将本地 build 目录上传到服务器,比如:

scp -r /本地路径/build ubuntu@你的服务器IP:/home/ubuntu/

然后把文件移动到 Nginx 默认站点目录(/var/www/html)下:

sudo mv /home/ubuntu/build /var/www/html/react-app

(你也可以建一个新目录,比如 /var/www/react-app,但需要自己配置 Nginx 根目录。

3. 配置 Nginx 实现静态文件访问

现在需要让 Nginx 指向 React 打包文件,并处理前端路由问题(比如刷新后 404)。
编辑默认的 Nginx 配置文件:

sudo nano /etc/nginx/sites-available/default

server 块改成下面这样(域名部分按实际修改):

server {
    listen 80;
    server_name example.com;  # 改成你的域名或服务器IP

    root /var/www/html/react-app;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ /index.html;
    }
}

关键就是 try_files $uri $uri/ /index.html; 这一行——它解决了 React 单页应用在刷新或直接访问子路径时出现的 404 问题

保存后检查配置语法:

sudo nginx -t

如果看到 syntax is ok,重启 Nginx:

sudo systemctl restart nginx

4. 常见报错与避坑说明

问题1:访问显示 403 Forbidden

  • 原因:Nginx 没有读取目录的权限。执行 sudo chmod -R 755 /var/www/html/react-app

问题2:刷新页面变成 404

  • 原因:没有配置 try_files。请确认第 3 步的配置已包含 try_files $uri $uri/ /index.html;

问题3:服务器防火墙挡住了 80 端口

  • Ubuntu 默认启用 ufw,执行 sudo ufw allow 80 开放端口;云服务器还需在控制台安全组放行 80。

问题4:上传文件后页面内容未更新

  • 可能缓存了旧的 index.html。Nginx 默认不缓存 .html,但如果你有 CDN 或浏览器缓存,可以强制清除或给静态资源加版本号。

5. 如何验证部署成功

在浏览器地址栏输入你的服务器 IP 或域名:

http://你的服务器IP

如果看到 React 应用首页,说明上线成功。
接着手动刷新页面、点击内部链接跳转再刷新,确认不会出现 404。
还可以打开开发者工具(F12)的 Network 面板,检查静态资源(JS、CSS)是否正常加载(状态码 200)。

如果你绑定了域名并想用 HTTPS,下一步可以考虑申请 Let's Encrypt 免费证书并配置 Nginx SSL 反向代理。

以上就是 React 项目上线服务器的完整基本流程。
遇到报错时别慌,按避坑清单逐条排查,大部分问题都能解决。
如果你的项目还需要后端接口(比如 Node.js 或 Java),可以用 Nginx 反向代理到后端端口,这部分我之后会单独写一篇教程。

分享到:
上一篇
前端项目Vue部署到Linux服务器
下一篇
小程序后端服务搭建部署教程指南
1
系统公告

高考专属福利来袭|凭准考证免费领香港 CN2 云服务器

值高考落幕之际,泽御云开启考生专属回馈 + 产品限时特惠双重活动,助力学子暑期学习建站 高考 考生专属福利 全体应届高考生,凭高考准考证即可免费申领【香港 CN2 轻量云服务器,4 核 4G AMD 处理器】,免费使用周期 30 天,可用于搭建个人站点、编程实操、技术实训,祝各位考生金榜题名,前程似锦! 泽御云资质齐全合规自营机房,线路覆盖香港 CN2、国内 BGP、内蒙电信、美国精品线路,售后全天候技术支持。 官方网站:www.zeyuyun.com,活动限时有效,优惠逾期不再保留。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意