Pregunta ¿Cómo puedo establecer la RUTA de supervisión para que encuentre los ejecutables


Estoy tratando de instalar supervisor.conf. Una de mis aplicaciones requiere node.js, pero el nodo no está instalado en el sistema. Además, como necesita vincularse al puerto 80, debe ejecutarse como root. ¿Cómo puedo modificar el PATH variable para que supervisord pueda encontrar el node ejecutable (que se encuentra en un directorio) y ejecutar la aplicación node.js.


Estoy tratando de hacerlo así

[supervisord]
environment=PATH=/path/to/where/node/executable/is

[program:web]
command=node web.js -c config.json

Esto falla con

2011-08-25 16:49:29,494 INFO spawnerr: can't find command 'node'

8
2017-08-25 13:54


origen


Respuestas:


Puedes simplemente establecer la ruta absoluta al comando:

[program:web]
command=/path/to/where/node/executable/is/node web.js -c config.json

-2
2017-08-25 14:00



Puedes agregarlo en el comando usando env:

[program:web]
command=env PATH="/path/to/where/node/executable/is" node web.js -c config.json

Parece que el entorno no funciona en algunos casos.


11
2017-11-13 22:32



Un patrón que comencé a usar con el supervisor (que es similar al de Zenbeni) es usar un script de shell para iniciar el programa que estoy ejecutando, lo que permite la configuración de variables de entorno, etc.

p.ej.

#!/bin/sh
export EXAMPLE_VARIABLE=something
export PYTHONPATH=/something
export PATH=$PATH:/somewhere/else
exec python somescript.py

El uso de 'exec' es importante. Reemplaza / bin / sh con el programa que se ejecuta en lugar de generarlo como un elemento secundario. Esto significa que no hay procesos adicionales alrededor y que las señales funcionan como se esperaba.

La (pequeña) ventaja de esto sobre el método de zenbeni es que cuando se actualizan variables de entorno, etc., solo se necesita reiniciar el supervisor, es decir, no se requiere volver a leer / actualizar, etc. Esta ventaja aumenta cuando uso un detector de eventos si acierta con el mismo error que yo (reinicio completo del supervisor para actualizar las variables de entorno del detector de eventos).


5
2017-11-04 21:42



Preguntas populares