我无法使用 plesk 启动我的 NextJS js 应用程序

问题描述 投票:0回答:3

我正在尝试使用 Plesk 在我的节点服务器上启动 NextJS 应用程序,但它不工作。我为我的 Plesk 环境激活了 NodeJS,我能够运行 npm install 和 npm build,但是现在,当我尝试启动该应用程序时,Plesk 只显示“请稍候”并且没有任何变化,我一直在等待现在已经超过 2 个小时了,但我没有得到任何结果,没有错误,什么都没有。

我唯一能想到的问题是,根据我能找到的,应用程序启动文件和 package.json 文件应该在同一个目录,即根文件夹中,但在我的情况下这是不可能的。我的 package.json 位于根目录中,但 NextJS 的启动文件 index.js 位于 pages 文件夹中。我测试了在本地构建和启动应用程序,一切正常,我不明白为什么它不能与 Plesk 一起工作。

node.js next.js plesk mediatemple
3个回答
5
投票

在更正启动文件后我能够解决这个问题,它应该是“node_modules/.bin/next”而不是“pages/index.js”。

此外,当您启动您的应用程序时,Plesk 会告诉您等待。只需检查站点并确保它正在运行,如果是,您可以关闭 Plesk。


1
投票

您可能需要在 Next.js 中安装 Express

你可以参考这个 repo fmi @ https://github.com/zeit/next.js/tree/canary/examples/custom-server-express

如果您指的是 package.json 的命令,我们将有:

  • 开发
  • 建造
  • 开始

在 Plesk 的节点应用程序扩展中。

  1. 网站与域名 > “您的域名”> 启用 Node.js
  2. 只需将 server.js 设置为我的应用程序启动文件。
  3. 确保使用“Npm Install”帮助程序安装所有依赖项。
  4. 您必须在
    build
    命令之前运行
    start
    命令。

截图:

有用的 NPM/Plesk 参考资料:


0
投票

如果您遇到目录问题,您可以通过编辑 next.config.js 文件来创建 next.js 应用程序的独立版本:

module.exports = {
  output: 'standalone',
}

(参见文档https://nextjs.org/docs/advanced-features/output-file-tracing

这将需要一些其他步骤,但至少您的所有文件都会在一起。 (参见https://mytchall.dev/removing-the-build-folders-when-deploying-next-js-on-plesk/

© www.soinside.com 2019 - 2024. All rights reserved.