Supervisord + Gunicorn

Se você estiver usando o supervisord para supervisionar o processo, há alguns problemas.

Por exemplo :

[program:gunicorn]
command
=/usr/local/bin/gunicorn_django -b 127.0.0.1:9001 -u www-data project/settings.py -D --error-logfile ../logs/error_gunicorn -w 4
directory
=/var/www/project/sources/
user
=www-data
autostart
=true
autorestart
=true
redirect_stderr
=True

E isso gerará um erro:

supervisor> restart gunicorn
gunicorn
: ERROR (not running)
gunicorn
: ERROR (abnormal termination)

Porque isso está acontecendo? O processo de Beacuse nos inicia daemon. Uma solução simples para isso é remover a sinalização -D:

command=/usr/local/bin/gunicorn_django -b 127.0.0.1:9001 -u www-data project/settings.py --error-logfile ../logs/error_gunicorn -w 4

E tudo está funcionando bem:

supervisor> status
gunicorn RUNNING pid
26463, uptime 0:01:56