PM2 - Autostart sur Raspbian (Raspberry Pi) ne fonctionne pas
Ok les gars,
c'est me rend fou... ne Pouvez pas obtenir mon nodejs application à l'autostart@boot sur un raspberry pi...
Machine: Framboise 2 (Raspbian Jessie)
Essayé presque toutes les solutions possibles, j'ai trouvé sur Google.
C'est ce que j'ai fini avec:
Installé pm2
$ sudo npm install -g pm2
Cela permettra de l'installer comme un init.d script et exécuter l'application en tant pi utilisateur
$ sudo pm2 startup raspberry -u pi
[PM2] Generating system init script in /etc/init.d/pm2-init.sh
[PM2] Making script booting at startup...
[PM2] -raspberry- Using the command:
su -c "chmod +x /etc/init.d/pm2-init.sh && update-rc.d pm2-init.sh defaults"
[PM2] Done.
J'ai lu que le script se réfère à la mauvaise .pm2 dossier (il se regarde dans le dossier racine, et non pas le dossier de l'utilisateur), donc j'ai changé le
$ sudo vi /etc/init.d/pm2-init.sh
Changé export PM2_HOME="/root/.pm2"
à export PM2_HOME="/home/pi/.pm2"
$ cd /opt/mycoolnodeproject
De départ de mon nœud de projet avec les pm2
$ pm2 start server.js -x --name "node-project"
Enregistrer les processus actifs de sorte qu'il va redémarrer lors du redémarrage (si le pi se bloque, cela permettrait d'économiser sur l'arrêt automatiquement)
$ pm2 dump
Donc maintenant que le serveur est opérationnel et fonctionne très bien... jusqu'à ce que je reboot! Je pensais que les pm2 serait autostart mon nœud de l'application, mais pour quelque raison il ne fait pas... 🙁
Une idée de ce que peut être le problème?
Btw: j'ai aussi essayé d'appeler de démarrage comme ce sudo env PATH=$PATH:/usr/local/bin pm2 startup raspberry -u pi
, mais cela ne fonctionne pas non plus.
Ce qui concerne,
Sascha
sudo npm install-g pm2
Je vais avoir des problèmes similaires -- aimerais savoir si vous avez réussi à résoudre votre problème.
Bien sûr, je l'ai installé avec sudo. Je ne peux pas installer mondiale deps sans sudo.
avez-vous trouvé une solution?
OriginalL'auteur Sascha | 2015-09-25
Vous devez vous connecter pour publier un commentaire.
Mia commentaire m'a fait la vérification de la liste des problèmes de PM2, encore et quelqu'un a trouvé comment faire! 🙂
https://github.com/Unitech/pm2/issues/1654
La solution:
Fonctionne comme un charme! 🙂
Sascha
Cela a fonctionné pour moi sur un raspberry pi 3!
OriginalL'auteur Sascha
J'ai été en mesure d'obtenir les PM2 pour démarrer au boot correctement sur mon RPi avec cette commande:
sudo env PATH=$PATH:/usr/local/bin pm2 startup systemd -u pi --hp /home/pi
La
--hp /home/pi
partie semblait être la différence. Qu'est ce qui a été laissé de côté de tout un tas de solutions, j'ai trouvé que cela ne fonctionnait pas.OriginalL'auteur Chris Troutner
J'ai aussi cherché pendant des jours sans succès, mais alors,
Je l'ai eu à travailler tout simplement.
votre application java doit courir après le redémarrage
OriginalL'auteur Palmeta
Voici une solution basée sur cet article (la solution de contournement proposée ne m'a pas aidé):
Faire un mini de démarrage init.d un script pour ressusciter les pm2 processus vous-même
Le rendre exécutable
Système de mise à jour des liens symboliques
Redémarrer, aller à votre site web (et de regarder la date, assurez-vous qu'elle n'est pas mise en cache du navigateur)
OriginalL'auteur Bert