繁体   English   中英

如何使用 nodejs 脚本中的 pm2 在后台运行应用程序?

[英]How to run apps in the background using pm2 from a nodejs script?

我正在尝试创建一个应用程序,该应用程序允许我创建其他应用程序的演示并在子域上运行它们。 现在,当我通过node server.js命令运行我的应用程序时一切正常,但是当我使用pm2 start server.js在后台运行它时,以下脚本不起作用。 当我使用 SSH 登录到我的 droplet 并运行 pm2 pm2 status时,演示应用程序的启动脚本不在列表中。 我应该怎么办?

const runInitialServerConfigurationNodejs = async (subdomain, port) => {
    await shellPromise(`cp /var/www/${subdomain}_app/server/.env.example /var/www/${subdomain}_app/.env`);
    await shellPromise(`cd /var/www/${subdomain}_app/server && yarn`);
    await shellPromise(`mv /var/www/${subdomain}_app/server/server.js /var/www/${subdomain}_app/server/${subdomain}.js`);
    await shellPromise(`echo "APP_ENV=production" >> /var/www/${subdomain}_app/server/.env`);
    await shellPromise(`echo "MONGODB_KEY=mongodb://localhost:27017/${subdomain}_db" >> /var/www/${subdomain}_app/server/.env`);
    await shellPromise(`echo "NODE_PORT=${port}" >> /var/www/${subdomain}_app/server/.env`);
    await shellPromise(`cd /var/www/${subdomain}_app/server && pm2 start ${subdomain}.js && pm2 save && pm2 set pm2:autodump true`); // doesnt work here

}

不知何故 pm2 不适用于我的实现。 但是,我设法使用 forever 模块让它工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM