服务器重启后,网站看起来一切正常,但实际上运行的是之前的旧版本项目:导致我的数据全部写进了旧数据库。由于没有任何报错,好几天才发现。
PM2 的进程列表平时只存在守护进程内存里,服务器重启后靠 resurrect(复活)机制恢复,恢复依据是磁盘上的快照文件 ~/.pm2/dump.pm2,而这个快照只在手动执行 pm2 save 时才会更新。
坑点就在这里:
pm2 start / restart / reload / delete 都不会自动更新快照;典型踩坑场景:项目重构后换了新目录部署,pm2 stop 旧进程、pm2 start 新进程,一切正常,唯独忘了 pm2 save。之后服务器一旦重启,旧项目复活、新项目消失——对 PM2 来说一切"符合预期",所以没有任何告警。
pm2 save!!!!;本文作者:yan7
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!