我有一个django应用程序,我想用gunicorn和nginx运行。 我在此目录中安装了我的应用程序:
/website/davidbien/
我到了运行django的dev webserver的地步,可以访问它。然后我跑:
gunicorn davidbien.wsgi:application --bind 0.0.0.0:8000
这也很好。在此之后我创建了一个脚本:
#!/bin/bash
NAME="davidbien"
DJANGODIR=/website/davidbien
SOCKFILE=/website/virtual/run/gunicorn.sock
USER=ec2-user
GROUP=ec2-user
NUM_WORKERS=3
DJANGO_SETTINGS_MODULE=davidbien.settings
DJANGO_WSGI_MODULE=davidbien.wsgi
echo "Starting $NAME as `whoami`"
cd $DJANGODIR
source ../virtual/bin/activate
export DJANGO_SETTINGS_MODULE=$DJANGO_SETTINGS_MODULE
export PYTHONPATH=$DJANGODIR:$PYTHONPATH
RUNDIR=$(dirname $SOCKFILE)
test -d $RUNDIR || mkdir -p $RUNDIR
exec gunicorn ${DJANGO_WSGI_MODULE}:application \
--name $NAME \
--workers $NUM_WORKERS \
--user=$USER --group=$GROUP \
--bind=unix:$SOCKFILE \
--log-level=debug \
--log-file=
这样运行得很好,我得到了:
Starting gunicorn 19.7.1
Arbiter booted
Listening at: unix:/website/virtual/run/gunicorn.sock (3354)
[INFO] Using worker: sync
[INFO] Booting worker with pid: 3361
[INFO] Booting worker with pid: 3362
[INFO] Booting worker with pid: 3363
[DEBUG] 3 workers
问题是.sock文件根本没有生成!我无法继续使用nginx配置,因为此文件不可用。 我给了777访问/ website /文件夹及其中的所有内容,但这仍然无效。我也试过sudo而且没什么。日志显示它正在工作,为什么它不起作用? 感谢。