start name logs delete app node.js root pm2

node.js - name - pm2 python



Iniciar la aplicaciĆ³n como root con pm2 (6)

Tengo un demonio que debe ejecutarse como root en el inicio.

Utilizo pm2 para iniciar otras aplicaciones, pero no puedo averiguar si puede iniciar una aplicación como root. Se puede hacer?

Si no es así, ¿cuáles son mis opciones?


Debes iniciar pm2 como root, (sudo pm2 start app.js), entonces tu aplicación comenzará como root


Podría considerar enrutar su tráfico con iptables, ya que hay una razón detrás de este error

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000


Primero, instale pm2 globalmente. Luego establezca los permisos de root a pm2 usando este comando

sudo chown ubuntu:ubuntu /home/ubuntu/.pm2/rpc.sock /home/ubuntu/.pm2/pub.sock


Si solo necesita que su demonio se ejecute como root para acceder a un número de puerto (como 80 o 443), la documentación de pm2 recomienda usar authbind . Entonces, si desea que el usuario su nombre de usuario tenga acceso al puerto 80, ejecute:

$ sudo apt-get install authbind $ sudo touch /etc/authbind/byport/80 $ sudo chown yourusername /etc/authbind/byport/80 $ sudo chmod 755 /etc/authbind/byport/80 $ authbind --deep pm2 update

Y luego use authbind --deep pm2 lugar de pm2 . La documentación sugiere configurar un alias.


Tuve problemas con sudo pm2 start api , pero esto era debido a que pm2 ya se estaba ejecutando sin los privilegios de sudo, por lo que necesitas ejecutar:

pm2 kill sudo pm2 start api

Esto mata al demonio pm2 primero, para que comience en sudo, pero luego necesita sudo para TODOS los comandos de pm2 después, como: sudo pm2 ls


Yo recomendaria:

sudo pm2 start index.js

O

pm2 start ''http-server'' /var/www -p 80 sudo pm2 startup pm2 save

O

pm2 start ''which http-server'' /var/www -p 80

Para iniciarlo en tu puerto HTTP

Además, siempre pongo -i 0 al final: esto inicia tantos procesos de trabajo como tiene núcleos. Revisa THIS

No siempre es necesario iniciar PM2 como root. Si tiene PM2 como root y el módulo cli instalado, la seguridad es un gran riesgo. Esto solo es necesario si está iniciando su aplicación en un puerto entre 1 y 1024