import os
import sys
sys.path.append('xxxxxxx')
os.environ.setdefault("DJANGO_SETTINGS_MODULE",
"xx.settings")
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
将gunicorn的启动命令配置成shell文件:
#!/bin/bash
NAME="xxx" # Name of the application
DJANGODIR=/root/workspace/xxx/xianfu # Django project
directory
SOCKFILE=/root/workspace/xxx/gunicorn.sock # we will communicte using this unix socket
USER=root #
the user to run as
GROUP=root # the group to run as
NUM_WORKERS=4 # how many worker
processes should Gunicorn spawn
DJANGO_SETTINGS_MODULE=xianfu.settings #
which settings file should Django use
DJANGO_WSGI_MODULE=wsgi #
WSGI module name
PORT=8000
SERVER_NAME=0.0.0.0
echo "Starting $NAME
as `whoami`"
# Activate the virtual environment
cd $DJANGODIR
source
/root/workspace/xxx/.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)
test -d $RUNDIR ||
mkdir -p $RUNDIR
# Start your Django Unicorn
# Programs meant to be run under supervisor should not
daemonize themselves (do not use --daemon)
exec
/root/workspace/wasp_ticket_stat/.env/bin/gunicorn
${DJANGO_WSGI_MODULE}:application
\
--name $NAME
\
--workers $NUM_WORKERS
\
--user=$USER --group=$GROUP
\
--log-level=debug
\
--bind=$SERVER_NAME:$PORT
3. supervisor安装
它是一个C/S系统,帮助用户监视和控制UNIX操作系统中的进程。其目的是管理进程,可以进行进程的启动、自动重启等。
apt-get install supervisor
启动命令:service supervisor start
停止命令:service supervisor stop
在目录: /etc/supervisor/conf.d/
下创建一个xxx.conf文件。其会被supervisord进行加载。
文件内容为:
[program:gunicorn]
command=/root/workspace/wasp_ticket_stat/gunicorn_start
user=root
autostart=true
autorestart=true
redirect_stderr=true