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

cPanel部署Next.js报错public_html目录不允许 如何在该目录安装Node.js

Next.js cPanel部署报错截图

cPanel public_html目录部署Next.js操作指南

你子域名可以正常运行,说明Node.js环境、项目本身没有问题,按以下步骤操作即可完成主域名public_html目录部署:

  • 进入cPanel文件管理器,清空public_html目录下的所有默认文件和旧残留,避免路径冲突
  • 把Next.js项目的根文件(package.json、next.config.js、源码文件夹等)直接上传到public_html目录下,不要嵌套外层项目文件夹
  • 打开cPanel的「Node.js 选择器」功能,点击创建新应用:
    • 应用根目录选择public_html
    • 应用URL选择你的主域名
    • Node.js版本选择和子域名部署时完全一致的版本,避免兼容问题
    • 启动文件按照你的Next.js版本填写:Page Router版本填server.js,13+ App Router且开启了standalone打包模式的填.next/standalone/server.js
  • 找到刚创建的Node.js应用点击编辑,先执行npm install安装所有依赖,再执行npm run build完成项目打包
  • 关键配置:在public_html目录下新建.htaccess文件,写入以下规则,将请求代理到Node.js应用端口:
RewriteEngine On
RewriteRule ^$ http://127.0.0.1:XXXX/ [P,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://127.0.0.1:XXXX/$1 [P,L]

把代码里的XXXX替换为Node.js应用详情页显示的分配端口即可

  • 如果你开启了standalone打包模式,需要额外把项目根目录的public文件夹复制到.next/standalone目录下,把.next/static文件夹复制到.next/standalone/.next目录下,避免静态资源加载失败
  • 重启Node.js应用,清除浏览器缓存后访问主域名即可正常加载站点

如果不想重新配置,也可以直接将原有子域名对应的Node.js应用的根目录修改为public_html、应用URL修改为主域名,再按上述要求修改.htaccess规则后重启应用即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 12:39:03