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

如何在cPanel上部署集成i18next国际化的Next.js应用?解决next export与i18n不兼容问题

解决方案:在cPanel部署带i18n的Next.js应用(无需next export)

不用移除i18next!Next.js内置的i18n路由确实和next export不兼容,但你完全可以通过服务器端渲染/混合渲染模式部署到cPanel,不用动现有i18n配置,以下是具体可行的两种方法:

方法一:用cPanel自带的Node.js应用管理器部署

这是最省心的方式,cPanel的Node.js管理器原生支持运行Next.js生产服务器:

  • 第一步:本地构建生产版本
    在你的项目根目录执行构建命令:

    npm run build
    

    完成后会生成.next文件夹,这是核心的生产构建文件。

  • 第二步:打包必要文件
    把项目根目录下这些文件/文件夹打包成zip包:

    • .next文件夹
    • package.json、package-lock.json(或yarn.lock)
    • public文件夹(如果有静态资源)
    • next.config.js(包含你的i18n配置的那个文件)
  • 第三步:在cPanel中配置Node.js应用

    1. 登录cPanel,找到「软件」分类下的Node.js应用选项
    2. 点击「创建应用」,填写关键信息:
      • 应用根目录:选择你要部署的目标文件夹(比如public_html/next-app)
      • 应用启动文件:填写node_modules/next/dist/bin/next
      • 端口:cPanel会自动分配,无需手动修改
      • 环境变量:按需添加,比如NODE_ENV=production
    3. 创建完成后,把刚才的zip包上传到应用根目录并解压。
  • 第四步:启动应用并设置反向代理

    1. 在Node.js应用列表找到你的项目,点击「启动」
    2. 为了让用户通过域名访问,需要设置反向代理:
      • 回到cPanel主界面,找到「域名」分类下的「重定向」或「Apache配置」(不同主机商命名可能不同)
      • 添加规则,将你的域名指向Node.js应用的端口(比如http://localhost:3000,具体端口在应用详情页能看到)

方法二:自定义启动脚本简化流程

可以在package.json里添加一个启动脚本,让cPanel的配置更简洁:

"scripts": {
  "build": "next build",
  "start": "next start -p $PORT"
}

这样在cPanel的Node.js应用设置中,启动文件选package.json,启动命令填npm run start即可,cPanel会自动读取环境变量里的端口运行。


关于i18next的替代方案(仅当必须用静态导出时考虑)

如果你的主机完全不支持Node.js应用,只能用静态HTML,那才需要调整i18n方案:

  • 移除Next.js内置的i18n路由配置
  • 保留i18next包,改用纯客户端的语言切换逻辑(比如用useState存储当前语言,手动加载翻译文件)
  • 这时next export就能正常生成静态文件,但会失去Next.js服务器端语言路由的支持,对SEO有一定影响

总结:优先选择用cPanel的Node.js管理器部署,既能保留i18n的完整功能,又不用修改现有代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 00:22:35