【问题标题】:How can I deploy Next js app on cpanel hosting如何在 cpanel 主机上部署 Next js 应用程序
【发布时间】:2019-10-18 20:37:51
【问题描述】:

我正在尝试在 cPanel 上部署下一个 js 应用程序。我已经在上面安装了 node 和 npm。 如何在此设置上部署下一个 js 应用程序?

尝试在 cpanel 终端上构建应用程序时出现以下错误:

未处理的拒绝类型错误:child.send 不是函数

【问题讨论】:

  • 要部署 Next.js 应用程序,首先您需要执行 package.json 和 npm run start 中定义的构建脚本 (npm run build)。但目前无法使用 cPanel 中使用的 PussionPassanger 运行自定义脚本。它只能通过将app.js 文件作为入口点来工作。
  • 这方面有什么更新吗?
  • @LaurisKuznecovs which app.js 你的意思是?创建 nodejs 应用程序时我必须选择它作为Application startup file 吗?
  • @BehnamEsmaili 我认为这是不可能的,除非您有某种提升的访问权限(如 root)并且您肯定需要 SSH 访问权限。查看这篇文章How to Install a Node.js Application。我使用 Plesk 面板部署所有节点应用程序。

标签: javascript express cpanel web-deployment next.js


【解决方案1】:

您真正需要做的就是运行next export 并将out 文件夹的内容放入public_html 文件夹或/var/www/html//sites-available/ 等,具体取决于设置。

【讨论】:

    【解决方案2】:

    Next.js 应用程序应该在使用 cPanel 的网络托管服务提供商上运行良好,但运行默认的 next.js 服务器往往会超过这些类型的提供商应用的进程数和内存配额。 p>

    但是,如果您在其他地方构建应用的生产版本,然后使用自定义服务器调用您的 next.js 应用来处理传入请求,则可以使托管 next.js 应用正常工作。

    我在这里描述了在我的网站上将一个非常基本的应用程序部署为子站点的过程 - https://www.watfordconsulting.com/2021/02/08/deploy-next-js-applications-to-a-cpanel-web-host/

    【讨论】:

      【解决方案3】:

      你应该运行next exportout中制作静态html和js文件你可以像普通的html网站一样直接上传到Cpanel 您可以通过添加运行npm run exportyarn export

      "scripts": {
          "dev": "next",
          "build": "next build",
          "start": "next start",
          "export": "next export"
        },
      

      这些在 package.json 中

      【讨论】:

      • 这种方法的缺点是服务器数据绑定不起作用。
      【解决方案4】:

      有一些选项可以在 CPanel 中部署 NextJS 应用程序:

      1. 您只需在 CPanel 中部署无服务器应用程序(没有 NodeJS)。 NextJS 提供了类似next export 的语法来生成优化的前端文件。
      2. 新版本的 CPanel 已经为您的 nodejs 应用程序提供了入口点: 在该字段中指定您的服务器文件。

      【讨论】:

      • nextjs 应用程序的入口点是什么文件?
      • 如果你使用 NextJS 和服务器,你可以定义你的服务器文件。否则只需指向无服务器 NextJS 应用程序的索引
      【解决方案5】:

      您需要 root 权限。如果你有它们,你可以通过 SSH 远程访问你的服务器并在那里运行 npm 命令。然后它应该工作。即,从控制台:

      ssh user@serverip
      cd /path/to/appdirectory
      npm run start
      

      【讨论】:

      • 在共享主机root权限不可用。
      • 请参阅“您需要 root 权限”。我不相信没有他们就不可能做到这一点,但我可能会弄错。
      猜你喜欢
      • 2022-11-18
      • 1970-01-01
      • 2023-03-24
      • 2021-03-16
      • 2020-05-17
      • 1970-01-01
      • 2019-10-09
      • 2015-06-17
      • 2021-06-30
      相关资源
      最近更新 更多