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

无需cPanel能否上传Next.js 14应用至Siteground?next-intl导出受阻

可行的Next.js + next-intl 部署到Siteground的方案

由于next-intl依赖Next.js的运行时(SSR/SSG/ISR)能力,无法通过next export生成纯静态文件,因此需要采用运行时部署方案,以下是适配Siteground的具体操作路径:

方案一:Node.js 应用直接部署(推荐)

Siteground的GoGeek、Cloud等主机计划支持Node.js应用托管,操作步骤如下:

  • 本地完成项目构建:运行npm run build,生成.next目录
  • 上传项目文件:通过FTP或Siteground文件管理器,将项目根目录下所有文件(排除node_modules)上传至主机网站根目录(如public_html)
  • 配置Node.js应用:
    1. 登录Siteground的cPanel,找到「Node.js Manager」工具
    2. 创建新应用,配置参数:
      • 应用根目录:选择上传项目的对应路径
      • Node.js版本:选择与本地开发一致的版本(建议18+,匹配Next.js 13/14要求)
      • 启动命令:输入npx next start(Next.js默认启动命令)
    3. 保存配置后,Siteground会自动配置反向代理,将域名指向Node应用端口
  • 安装生产依赖:在cPanel的「Terminal」中切换到项目目录,运行npm install --production

方案二:自定义服务器部署(适配特殊场景)

如果默认next start无法满足自定义需求(如端口调整、额外中间件),可使用自定义服务器:

  • 在项目根目录创建server.js,示例代码:
const { createServer } = require('http');
const { parse } = require('url');
const next = require('next');

const dev = process.env.NODE_ENV !== 'production';
const app = next({ dev });
const handle = app.getRequestHandler();

app.prepare().then(() => {
  createServer((req, res) => {
    const parsedUrl = parse(req.url, true);
    handle(req, res, parsedUrl);
  }).listen(3000, (err) => {
    if (err) throw err;
    console.log('> Ready on http://localhost:3000');
  });
});
  • 修改package.json的start脚本:"start": "node server.js"
  • 后续流程同方案一,启动命令改为npm start

注意事项

  • 确认你的Siteground主机计划支持Node.js应用托管(StartUp计划可能无此权限)
  • 若遇版本兼容问题,可在cPanel的Node.js Manager中切换Node版本
  • 部署后可通过Siteground日志工具查看应用运行状态,排查启动错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 03:04:59