[英]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.