postgres ocean digitalocean deploy python django apache nginx supervisord

python - ocean - Configuración de nginx y supervisor en Ubuntu



nginx python (10)

Estoy usando la configuración de django-gunicorn-nginx siguiendo este tutorial http://ijcdigital.com/blog/django-gunicorn-and-nginx-setup/ Hasta la configuración de nginx, está funcionando. Luego instalé el supervisor, lo configuré y luego reinicié mi servidor y lo revisé, se muestra el 502 gateway incorrecto. Estoy usando Ubuntu 12.04 LTS

/etc/supervisor/conf.d/qlimp.conf

[program: qlimp] directory = /home/nirmal/project/qlimp/qlimp.sh user = nirmal command = /home/nirmal/project/qlimp/qlimp.sh stdout_logfile = /path/to/supervisor/log/file/logfile.log stderr_logfile = /path/to/supervisor/log/file/error-logfile.log

Luego reinicié el supervisor y ejecuto este comando $ supervisorctl start qlimp y $ supervisorctl start qlimp este error

unix:///var/run/supervisor.sock no such file

¿Hay algún problema en la configuración de mi supervisor?

¡Gracias!


¿Estás seguro de que el supervisor está instalado y ejecutándose? ¿Hay un archivo de socket presente en /var/run/supervisor.sock ?

El error indica que supervisorctl , la CLI de control, no puede alcanzar el socket UNIX para comunicarse con el supervisord , el daemon.

También puede marcar /etc/supervisor/supervisord.conf y ver si los valores de las secciones unix_http_server y supervisorctl coinciden.

Tenga en cuenta que este es un problema de nivel de Ubuntu, no es un problema con Python, Django o nginx y, como tal, esta pregunta probablemente pertenece a ServerFault.


Asegúrese de que en /etc/supervisor.conf las dos secciones siguientes

[unix_http_server] file=/tmp/supervisor.sock ; path to your socket file [rpcinterface:supervisor] supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface


El error puede deberse a que no tienes privilegios. Tal vez pueda solucionar el error de esta manera, abra su terminal e ingrese vim /etc/supervisord.conf para editar el archivo, busque las líneas

[unix_http_server]
; file = / tmp / supervisor.sock; (la ruta al archivo de socket)
; chmod = 0700; modo de archivo socket (predeterminado 0700)

y elimine el punto y coma en el inicio de la cadena ;file=/tmp/supervisor.sock y ;chmod=0700 , reinicie su supervisor. Le sugiero que lo haga.


En Ubuntu 16+ parece ser causado por el cambio a systemd, esta solución alternativa puede solucionar los nuevos servidores:

# Make sure Supervisor comes up after a reboot. $ sudo systemctl enable supervisor # Bring Supervisor up right now. $ sudo systemctl start supervisor

y luego verifique su estado de iconic.conf [Mi ejemplo] de supervisor

$ sudo supervisorctl status iconic

PD: Asegúrate de que gunicornio no tenga ningún problema mientras corre.


En mi caso, Supervisor no se estaba ejecutando. Para detectar el problema que corro:

sudo systemctl status supervisor.service

El problema era que tenía mis registros apuntando a un directorio no existente, así que solo tuve que crearlo.

Espero que ayude :)


He encontrado el mismo problema que usted y después de varias veces, aquí viene la solución:

  1. Primero elimine la versión de supervisor de apt-get:

    sudo apt-get remove supervisor

  2. Mate el proceso del supervisor de back-end:

    sudo ps -ef | grep supervisor

  3. Luego, obtenga la versión más nueva (la versión apt-get fue 3.0a8):

    sudo easy_install(pip install) supervisor==3.0b2

  4. Echo el archivo de configuración (root premission):

    echo_supervisord_conf > /etc/supervisord.conf

5. Iniciar supervisord:

sudo supervisord

6. Ingrese supervisorctl:

sudo supervisorctl

¡Se hizo todo! ¡Que te diviertas!


Prueba esto

cd /etc/supervisor sudo supervisord sudo supervisorctl restart all


Puedes hacer algo como esto:

sudo touch /var/run/supervisor.sock sudo chmod 777 /var/run/supervisor.sock sudo service supervisor restart

Definitivamente es trabajo, prueba esto.


Que no haya un archivo de socket probablemente significa que el supervisor no se está ejecutando. Una razón por la que no se está ejecutando podría ser que su archivo qlimp.conf tenga algún tipo de error. Si haces una

sudo service supervisor start

puedes ver si este es el caso. Si el supervisor ya se está ejecutando, dirá. Y si detecta un error, generalmente le dará un mensaje de error más útil que supervisorctl.


touch /var/run/supervisor.sock sudo supervisord -c /etc/supervisor/supervisord.conf

y después de supervisorctl reiniciar todo

si quieres escuchar el puerto supervisor

ps -ef | grep supervisord

si quieres matar el proceso

kill -s SIGTERM 2503