Come faccio a ospitare applicazioni node.js con pm2 senza eseguirle come root?

Ho installato pm2 per eseguire un'applicazione node.js e posso avviarlo con successo e risorgere al riavvio.

Tuttavia, il demone pm2 è gestito come root, cosa che mi fa pensare che tutti i miei nodes-script siano anche root. Anche se li ho aggiunti come un utente regolare nel sistema. I file e le /~/.pm2/logs registro vengono creati nella home dir utenti, /~/.pm2/logs , ma i log sono di properties; di root.

  • Il process di backup scompare la cache del disco
  • Quando dovrebbe essere utilizzato il .local?
  • ssh tunnel - bind: Imansible assegnare l'indirizzo richiesto
  • Perché ho potuto eliminare un file proprietario di root nella mia home directory senza essere root?
  • BTRFS: eliminazione di un volume
  • Imansible ssh al sistema remoto dopo aver abilitato IPSec
  • quando invoco pm2 startup (che gestisce l'installazione dello script init.d etc), crea /etc/init.d/pm2-init.sh che sembra questo:

     #!/bin/bash # chkconfig: 2345 98 02 # # description: PM2 next gen process manager for Node.js # processname: pm2 # ### BEGIN INIT INFO # Provides: pm2 # Required-Start: # Required-Stop: # Should-Start: # Should-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: PM2 init script # Description: PM2 is the next gen process manager for Node.js ### END INIT INFO NAME=pm2 PM2=/usr/local/lib/node_modules/pm2/bin/pm2 NODE=/usr/local/bin/node export HOME="/root" start() { echo "Starting $NAME" $NODE $PM2 stopAll $NODE $PM2 resurrect } stop() { $NODE $PM2 dump $NODE $PM2 stopAll } restart() { echo "Restarting $NAME" stop start } status() { echo "Status for $NAME:" $NODE $PM2 list RETVAL=$? } case "$1" in start) start ;; stop) stop ;; status) status ;; restart) restart ;; *) echo "Usage: {start|stop|status|restart}" exit 1 ;; esac exit $RETVAL 

    Quando spingo i processi (che è ciò che usa quando risorgono i processi), vedo le citazioni dell'utente "USER":"pi" ma non penso che sia effettivamente eseguito come utente pi.

    qualche idea?

  • mettendo lo script di shell sotto il controllo systemd
  • Come rimuovere / script di backup da /etc/init.d/?
  • Disabilitare l'output colore dagli script /etc/init.d?
  • Come faccio a eseguire manualmente un init.d di Debian, non all'avvio?
  • servizio drbd non avviabile / WFConnection
  • Qual è il modo più semplice per eseguire il mio vecchio script init in systemd?
  • One Solution collect form web for “Come faccio a ospitare applicazioni node.js con pm2 senza eseguirle come root?”

    Il più recente pm2-init.sh nel repo del progetto pm2 ha questa capacità.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.