在DigitalOcean上部署Strapi App时发生pm2错误

时间:2020-07-13 02:06:30

标签: deployment environment-variables config digital-ocean strapi

我一直在关注将Strapi应用程序部署到Digital ocean的官方文档,但是在设置pm2时遇到了麻烦。 它会启动应用程序一秒钟,然后显示

status: errored

没有script.js来运行该应用程序,但是当我cd到/ home / myusername / appname / backend并运行npm start时,它运行良好,这使我相信我的ENV变量设置正确< / p>

这是配置文件

module.exports = {
  apps: [
    {
      name: 'strapi',
      cwd: '/home/your-name/project/backend',
      script: 'npm',
      args: 'start',
      env: {
        NODE_ENV: 'production',
        DATABASE_HOST: 'localhost', // database endpoint
        DATABASE_PORT: '5432',
        DATABASE_NAME: 'strapi', // DB name
        DATABASE_USERNAME: 'your-name', // your username for psql
        DATABASE_PASSWORD: 'password', // your password for psql
      },
    },
  ],
};

然后我运行pm2日志,

2020-07-13T01:58:49: PM2 log: App [strapi:0] online
PM2        | 2020-07-13T01:58:49: PM2 error: Error: spawn node ENOENT
PM2        |     at Process.ChildProcess._handle.onexit (internal/child_process.js:240:19)
PM2        |     at onErrorNT (internal/child_process.js:415:16)
PM2        |     at process._tickCallback (internal/process/next_tick.js:63:19)

谢谢

2 个答案:

答案 0 :(得分:5)

对我来说这是因为 cwd 已经是相对的,并且不喜欢我的路径结构。我试过 ~/my-app/home/me/my-app 都错了。它最终只想要my-app

答案 1 :(得分:2)

  1. 首先替换:
    NODE_ENV: 'production',
    DATABASE_HOST: '127.0.0.1', // database endpoint
    DATABASE_PORT: '5432',
    DATABASE_NAME: 'THE DB NAME EX.SAMMY'
    DATABASE_USERNAME: 'THE DB USERNAME EX.SAMMY'
    DATABASE_PASSWORD: 'THE DB PASSWORD'
  1. pm2 del 0(使用pm2 start检查stridi应用)

  2. pm2启动ecosystem.config.js