我一直在关注将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)
谢谢
答案 0 :(得分:5)
对我来说这是因为 cwd
已经是相对的,并且不喜欢我的路径结构。我试过 ~/my-app
和 /home/me/my-app
都错了。它最终只想要my-app
。
答案 1 :(得分:2)
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'
pm2 del 0(使用pm2 start检查stridi应用)
pm2启动ecosystem.config.js