微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何让 Jelastic 启动 PM2 以启动“npm”命令而不是文件?

如何解决如何让 Jelastic 启动 PM2 以启动“npm”命令而不是文件?

我使用的是 jelastic Node.js PM2 环境,我希望我的应用程序以如下方式启动:

pm2 start npm --name "app name" -- start

(我的服务器不是一个 JS 文件)。

如果我使用 jelastic 'npm' 环境,该命令运行良好,但我更喜欢 PM2 的好处。 我尝试设置各种 APP_FILEstartnpm start、pm2 配置文件路径)、入口点和 PROCESS_MANAGER_FILE,但没有成功。我通常会收到此错误

Node ID : 53209
-----------------------
result 1 Failed to start 
Stopping nodejs server[  OK  ] Starting nodejs server [Failed]

解决方法

@Jelastic 的评论奏效了!实际上,在 Jelastic 中使用 PM2“生态系统文件”是有效的。

APP_FILE(或可能是 PROCESS_MANAGER_FILE)设置为 ecosystem.config.js(这是相对于 ROOT_DIR

这个文件的内容应该是这样的:

module.exports = {
  apps: [
    {
      script: "yarn",args: "--cwd myserver1 start",name: "myserver1",},// You can use this setup to start multiple processes too.
    {
      script: "yarn",args: "--cwd myserver2 start",name: "myserver2",],};

--cwd 告诉 yarn 切换当前工作目录。如果您使用 npm,则可以使用 --prefix 代替。

阅读有关 PM2 生态系统文件的更多信息:https://pm2.keymetrics.io/docs/usage/application-declaration/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。