File: //proc/682/cwd/gunicorn_start.sh
#!/bin/bash
NAME="sarafai"
ENV=/srv/projects/env3
DJANGODIR=${ENV}/src
SOCKFILE=${ENV}/run/gunicorn.sock
USER=www-data
GROUP=www-data
NUM_WORKERS=3
DJANGO_SETTINGS_MODULE=project.settings
DJANGO_WSGI_MODULE=project.wsgi
#LOGFILE=${ENV}/log/debug.log
# fix
mkdir -p ${ENV}/run
echo "Starting [${NAME}] as `whoami`"
## Fix permissions
#sudo chown ${USER}:${GROUP} -R ${ENV}
# Activate the virtual environment
cd ${DJANGODIR}
source ${ENV}/bin/activate
export DJANGO_SETTINGS_MODULE=${DJANGO_SETTINGS_MODULE}
export PYTHONPATH=${DJANGODIR}:${PYTHONPATH}
# Create the run directory if it doesn't exist
RUNDIR=$(dirname ${SOCKFILE})
#LOGDIR=$(dirname ${LOGFILE})
test -d ${RUNDIR} || mkdir -p ${RUNDIR}
#test -d ${LOGDIR} || mkdir -p ${LOGDIR}
# Start your Django Unicorn
# Programs meant to be run under supervisor should not daemonize themselves (do not use --daemon)
exec ${ENV}/bin/gunicorn ${DJANGO_WSGI_MODULE}:application \
--name ${NAME} \
--workers ${NUM_WORKERS} \
--user=${USER} --group=${GROUP} \
--bind=unix:${SOCKFILE} \
--log-level=debug \
--error-logfile=${ENV}/logs/gunicorn/error.log \
--limit-request-fields 100 \
--reload
# --access-logfile=${ENV}/logs/gunicorn/access.log
# --log-file=- \
# --log-file=${LOGFILE}