我正在使用PM2将我的节点应用程序作为服务运行。我的Node应用程序是RAM饥饿,所以它消耗大约300到800MB的RAM,具体取决于流量。我的DigitalOcean droplet有1GB RAM。
有时,我的应用程序会突然从运行的服务中消失,当我给予命令pm2 list
时,我什么也看不到
据我所知,pm2应该照顾这样的崩溃本身,并重新启动应用程序时,这样的崩溃发生,但它不重新启动它,而是做任何事情。
我现在正在寻找一些解决方案,可以自动重新启动我的应用程序时,崩溃,我必须使用pm2使用它的服务。
2条答案
按热度按时间qyyhg6bp1#
你能检查一下机器是否重启了吗?
您可以使用此命令查看上次重新启动时间:
甚至是
命令查看您正在运行的时间。
如果是这样,那应该是问题所在。pm2有一个很好的解决方案管理:
如果您的应用程序运行在应该通过防火墙打开的端口上,则您也需要对防火墙进行相同的保存。我知道Ubuntu有一个非常好的软件包,但我很确定你可以在任何系统上找到等效的软件包。
vaqhlq812#
您只需要运行三个命令。第一:
pm2 startup
然后复制粘贴并执行它显示的命令,它将是这样的:
sudo env PATH=$PATH:/home/user/.nvm/versions/node/v18.12.1/bin /home/user/.nvm/versions/node/v18.12.1/lib/node_modules/pm2/bin/pm2 startup systemd -u user --hp /home/user
最后:
pm2 save
这样,下次系统重新启动时,所有pm2进程将自动启动。