Selon la documentation ici: http://pm2.keymesortingcs.io/docs/usage/startup/#startup-systems-support
Vous pouvez utiliser la commande pm2 startup ubuntu -u nodeapps
pour ressusciter tous les travaux pm2 enregistrés au démarrage du serveur.
J’ai exécuté cette commande en tant qu’utilisateur nodeapps. Ensuite, j’ai reçu une commande sudo su à exécuter. Je me suis déconnecté de nodeapps, j’ai utilisé sudo su pour me connecter au système en tant que root et j’ai exécuté la commande:
sudo su -c "env PATH=$PATH:/usr/bin pm2 startup ubuntu -u nodapps --hp /home/nodeapps"
Les processus n’ont pas redémarré au redémarrage du serveur. J’ai trouvé cette question sur Stack Overflow: Ubuntu 14.04 – pm2 démarrage ne démarre pas après le redémarrage .
Dans le script /etc/init.d/pm2-init.sh
j’ai trouvé la ligne recommandée par cette question:
export PATH=/usr/bin:$PATH export PM2_HOME="/home/nodeapps/.pm2"
Mais ça me semble correct donc je n’ai rien changé.
J’ai ensuite trouvé cette question: pm2 Startup ne démarre pas sur Ubuntu
et dans mes journaux de démarrage, je trouve la ligne suivante:
Starting pm2 /usr/bin/env: node: No such file or directory
Je sais que ‘node’ sur Ubuntu est en fait ‘nodejs’. Serait-ce la raison?
Si c’est le cas, que puis-je faire pour que la commande de démarrage recherche nodejs au lieu de node.
Sinon, cela pourrait-il être un problème de $ PATH? Si c’est le cas, comment puis-je append le chemin correct à la racine (au moins, je pense qu’il devrait être ajouté à la racine)
(Publié au nom du PO) .
En fait, c’était le problème. Correction via la création d’un lien symbolique (en tant que root):
ln -s /usr/bin/nodejs /usr/sbin/node