pip install gunicorn vim bin/gunicorn_start #!/bin/bash NAME="urban_train" DIR=/home/urban/urban-train USER=urban GROUP=urban WORKERS=3 BIND=unix:/home/urban/run/gunicorn.sock DJANGO_SETTINGS_MODULE=urban_train.settings DJANGO_WSGI_MODULE=urban_train.wsgi LOG_LEVEL=error cd $DIR source ../bin/activate export DJANGO_SETTINGS_MODULE=$DJANGO_SETTINGS_MODULE export PYTHONPATH=$DIR:$PYTHONPATH exec ../bin/gunicorn ${DJANGO_WSGI_MODULE}:application \ --name $NAME \ --workers $WORKERS \ --user=$USER \ --group=$GROUP \ --bind=$BIND \ --log-level=$LOG_LEVEL \ --log-file=- :x chmod u+x bin/gunicorn_start mkdir run mkdir logs touch logs/gunicorn-error.log sudo vim /etc/supervisor/conf.d/urban-train.conf [program:urban-train] command=/home/urban/bin/gunicorn_start user=urban autostart=true autorestart=true redirect_stderr=true stdout_logfile=/home/urban/logs/gunicorn-error.log :x sudo supervisorctl reread sudo supervisorctl update sudo supervisorctl status urban-train FATAL Exited too quickly (process log may have details) LOGS: couldn't exec /home/urban/bin/gunicorn_start: ENOEXEC supervisor: child process was not spawned