Um die aktuellsten Versionen von NodeJS zu unterstützen, müssen wir unsere Webserver von Amazon Linux 2 auf Amazon Linux 2023 migrieren. Dieser Schritt schließt die üblichen Spin-Up/Down-Instanzen aus und erfordert eine vollständige Migration.
Alles scheint reibungslos zu funktionieren, mit Ausnahme der knotenbasierten Dienste. Ich habe es .pm2/dump.pm2
auf einen neuen Server kopiert und pm2 als Dienst gestartet. Zunächst sah es gut aus, aber es zeigt, dass keiner der Dienste CPU oder RAM beansprucht und Apache-Proxy-Verbindungen nicht hergestellt werden können. Ich denke also, dass keiner von ihnen tatsächlich ausgeführt wird. Ich habe es pm2 resurrect
auch versucht, aber die Antwort ist dieselbe:
# 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 │
└────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘
Auch Systemctl scheint zu glauben, dass es funktioniert:
# 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 >
Vorausgesetzt, alles ist da, wo es sein soll, und funktioniert ansonsten, wie kann ich pm2 dazu bringen, alle seine Dienste auf der neuen Maschine neu zu starten? Es gibt nur 7 Dienste, also könnte ich sie natürlich alle manuell starten, aber ... ich denke, es gibt eine Möglichkeit, dies automatisch zu tun.