pm2 서비스를 새 서버로 마이그레이션

pm2 서비스를 새 서버로 마이그레이션

최신 버전의 NodeJS를 지원하려면 웹 서버를 Amazon Linux 2에서 Amazon Linux 2023으로 마이그레이션해야 합니다. 이렇게 이동하면 일반적인 스핀업/다운 인스턴스를 수행할 수 없으며 전체 마이그레이션이 필요합니다.

노드 기반 서비스를 제외하고 모든 것이 원활하게 작동하는 것 같습니다. 내가 한 일은 .pm2/dump.pm2새 서버에 복사하고 pm2를 서비스로 실행하는 것이었습니다. 처음에는 괜찮아 보였지만 어떤 서비스도 CPU나 RAM을 사용하지 않고 Apache 프록시 연결도 연결에 실패했기 때문에 실제로 실행되고 있는 서비스가 하나도 없는 것 같습니다. 저도 해봤는데 pm2 resurrect반응은 똑같네요.

# pm2 resurrect
[PM2] Resurrecting
[PM2] Restoring processes located in /root/.pm2/dump.pm2
┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
│ id │ name               │ mode     │ ↺    │ status    │ cpu      │ memory   │
├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤
│ 3  │ IDAP Dev           │ fork     │ 0    │ online    │ 0%       │ 0b       │
│ 4  │ IDAP Website       │ fork     │ 0    │ online    │ 0%       │ 0b       │
│ 2  │ Mirovoy NextJS     │ fork     │ 0    │ online    │ 0%       │ 0b       │
│ 5  │ Reanthropize       │ fork     │ 0    │ online    │ 0%       │ 0b       │
│ 6  │ Reanthropize Stage │ fork     │ 0    │ online    │ 0%       │ 0b       │
│ 1  │ lp-api             │ fork     │ 0    │ online    │ 0%       │ 0b       │
│ 0  │ url-shortener      │ fork     │ 0    │ online    │ 0%       │ 0b       │
└────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘

Systemctl도 작동한다고 생각하는 것 같습니다.

# systemctl status pm2-root
● pm2-root.service - PM2 process manager
     Loaded: loaded (/etc/systemd/system/pm2-root.service; enabled; preset: dis>
     Active: active (running) since Sun 2023-08-27 10:44:43 UTC; 1h 7min ago
       Docs: https://pm2.keymetrics.io/
    Process: 135008 ExecStart=/root/.nvm/versions/node/v18.17.1/lib/node_module>
   Main PID: 135015 (PM2 v5.3.0: God)
      Tasks: 11 (limit: 4568)
     Memory: 20.3M
        CPU: 925ms
     CGroup: /system.slice/pm2-root.service
             └─135015 "PM2 v5.3.0: God Daemon (/root/.pm2)"

Aug 27 10:44:43 ip-10-0-6-45.eu-central-1.compute.internal pm2[135008]: ├────┼─>
Aug 27 10:44:43 ip-10-0-6-45.eu-central-1.compute.internal pm2[135008]: │ 3  │ >
Aug 27 10:44:43 ip-10-0-6-45.eu-central-1.compute.internal pm2[135008]: │ 4  │ >
Aug 27 10:44:43 ip-10-0-6-45.eu-central-1.compute.internal pm2[135008]: │ 2  │ >
Aug 27 10:44:43 ip-10-0-6-45.eu-central-1.compute.internal pm2[135008]: │ 5  │ >
Aug 27 10:44:43 ip-10-0-6-45.eu-central-1.compute.internal pm2[135008]: │ 6  │ >
Aug 27 10:44:43 ip-10-0-6-45.eu-central-1.compute.internal pm2[135008]: │ 1  │ >
Aug 27 10:44:43 ip-10-0-6-45.eu-central-1.compute.internal pm2[135008]: │ 0  │ >
Aug 27 10:44:43 ip-10-0-6-45.eu-central-1.compute.internal pm2[135008]: └────┴─>
Aug 27 10:44:43 ip-10-0-6-45.eu-central-1.compute.internal systemd[1]: Started >

모든 것이 예상대로 작동하고 있다고 가정할 때 pm2가 새 시스템에서 모든 서비스를 다시 시작하도록 하는 올바른 방법은 무엇입니까? 서비스가 7개뿐이므로 물론 모두 수동으로 시작할 수도 있지만... 이 작업을 자동으로 수행할 수 있는 방법이 있을 것 같습니다.

관련 정보