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

使用cPanel应用管理器部署Nestjs应用遇模块找不到错误求助

排查步骤:NestJS部署cPanel子域名时的模块找不到错误

错误提示的路径/home/public_html/mySubDomain/dist/src/main.js明显缺失了用户名myUserName,这是核心线索,按以下步骤逐一排查:

  • 检查Apache配置文件的路径完整性
    打开/etc/apache2/conf.d/userdata/ssl/2_4/myUserName/mySubDomain/appName.conf,确认配置里的应用路径是否包含完整的用户目录前缀:

    • 如果用Passenger部署,确认PassengerAppRoot的值是/home/myUserName/public_html/mySubDomain,PassengerStartupFile是dist/src/main.js
    • 如果用反向代理,确认Node进程的启动命令使用了绝对路径/home/myUserName/public_html/mySubDomain/dist/src/main.js,而非相对路径
  • 验证编译后文件的存在性
    登录服务器执行命令:

    ls -l /home/myUserName/public_html/mySubDomain/dist/src/
    

    如果main.js不存在,回到项目根目录/home/myUserName/public_html/mySubDomain/重新执行npm run build,确保编译过程无报错,成功生成dist目录。

  • 确认启动命令的工作目录
    若使用PM2或直接启动Node进程:

    • 若用相对路径启动(node dist/src/main.js),必须在/home/myUserName/public_html/mySubDomain/目录下执行
    • 更稳妥的方式是使用绝对路径启动:node /home/myUserName/public_html/mySubDomain/dist/src/main.js
  • 检查文件权限
    确保Apache/Node进程能读取dist目录下的文件,执行权限修复命令:

    chmod -R 755 /home/myUserName/public_html/mySubDomain/dist/
    chown -R myUserName:myUserName /home/myUserName/public_html/mySubDomain/dist/
    

    (注:myUserName替换为你的实际cPanel用户名,用户组若为nobody则对应调整)

  • 核对cPanel子域名的文档根目录
    登录cPanel进入「子域名」管理页面,确认该子域名的文档根目录设置为/home/myUserName/public_html/mySubDomain,避免因根目录配置错误导致路径解析偏差。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 01:35:12