You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将已构建的Next.js网站上传至SiteGround主机并上线?

如何将Next.js构建产物(.next文件夹)部署到SiteGround主机

完全可行,SiteGround支持Node.js应用部署,以下是具体操作步骤:

1. 确认主机兼容性

SiteGround的GoGeek、Cloud方案原生支持Node.js应用;如果是StartUp方案,需要升级到更高套餐才能使用Node.js功能。登录SiteGround后台进入「Site Tools」,在「Devs」->「Node.js Manager」中可确认是否支持。

2. 准备部署文件

除了已构建好的.next文件夹,还需准备:

  • 项目根目录的package.json:必须包含start脚本,示例:
    "scripts": {
      "start": "next start -p 3000"
    }
    
  • .env文件(如果项目用到环境变量)
  • public文件夹(如果项目有静态资源)

注意:不要上传本地的node_modules文件夹,SiteGround会自动安装依赖。

3. 上传文件到主机

  • 使用SFTP工具(如FileZilla)连接SiteGround主机,将上述文件/文件夹上传到网站根目录的子文件夹(比如/public_html/next-app),避免与其他网站内容冲突。
  • 也可通过SiteGround后台的「File Manager」上传,但大文件推荐用SFTP更高效。

4. 创建Node.js应用

进入「Site Tools」->「Devs」->「Node.js Manager」,点击「Create Application」:

  • 选择要绑定的域名
  • 设置应用根目录为你上传文件的路径(如/public_html/next-app)
  • 启动方式选择npm start(SiteGround会自动识别package.json中的脚本)
  • 设置端口号(默认3000,后续反向代理会用到)
  • 选择与本地构建一致的Node.js版本,避免兼容性问题
  • 点击「Create」等待应用创建完成

5. 配置反向代理

这是让域名指向Node.js服务的关键步骤:
进入「Site Tools」->「Domains」->「Rewrite Rules」,添加新规则:

RewriteEngine On
# 强制HTTPS(可选但推荐)
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# 将请求转发到Node.js服务
RewriteCond %{REQUEST_URI} !^/next-app/node_modules
RewriteRule ^(.*)$ http://localhost:3000/$1 [P,L]

替换规则中的3000为你设置的端口号,/next-app为你的应用文件夹路径。

6. 测试与排查

  • 访问你的域名,检查页面是否正常加载。
  • 若出现500错误,在「Node.js Manager」中查看应用日志,排查依赖缺失或版本不匹配问题。
  • 若静态资源加载失败,检查next.config.js是否设置了正确的assetPrefix(如应用不在根目录,需添加assetPrefix: '/next-app')。

7. 更新维护

后续更新应用时,本地重新执行npm run build生成新的.next文件夹,上传到主机覆盖旧文件,然后在「Node.js Manager」中重启应用即可。

内容的提问来源于stack exchange,提问作者Randresqf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 01:42:25