Démarrer l'application en tant que root avec pm2
J'ai un démon qui doit être exécuté en tant que root au démarrage.
- Je utiliser pm2 pour démarrer d'autres applications, mais ne peut pas comprendre si on peut démarrer une application en tant que root. Peut-il être fait?
Si non, quelles sont mes options?
source d'informationauteur Martin Nilsson
Vous devez vous connecter pour publier un commentaire.
Je recommande:
OU
OU
Pour commencer sur votre Port HTTP
Aussi, j'ai toujours mis
-i 0
à la fin - ce qui démarre comme de nombreux processus de travail que vous avez cœurs. Vérifier CETTEIl n'est pas toujours nécessaire de commencer PM2 en tant que root. Si vous avez des PM2 en tant que root et le cli module est installé, la sécurité est un gros risque. Ceci est nécessaire seulement si vous êtes à partir de votre application sur un port entre 1 et 1024
Si vous avez uniquement besoin de votre démon pour être exécuté en tant que root pour accéder à un numéro de port (par exemple 80 ou 443), le pm2 documentation recommande l'utilisation de
authbind
. Donc, si vous voulez que l'utilisateuryourusername
d'avoir accès au port 80, exécutez:Et ensuite utiliser
authbind --deep pm2
au lieu depm2
. La documentation suggère la création d'un alias.J'ai eu des problèmes avec
sudo pm2 start api
mais ce fut à partir de pm2 était déjà en cours d'exécution sans privilèges sudo, à cet effet, vous devez exécuter:Cela tue les pm2 démon de la première, de sorte qu'il commence à sudo, mais alors vous avez besoin de sudo pour TOUS pm2 commandes par la suite, comme:
sudo pm2 ls
Vous devriez commencer pm2 en tant que root, sudo pm2 commencer app.js), alors votre application va commencer comme une racine
Tout d'abord, installez les pm2 à l'échelle mondiale.
Puis définissez les permissions root pour les pm2 l'aide de cette commande