Gunicorn を実行するには、bash スクリプトを使用します。_run_gunicorn.sh_ という名前です。
#!/bin/bash
NAME=new_project
DJANGODIR=/home/flame/Projects/$NAME
SOCKFILE=/home/flame/launch/web.sock
USER=flame
GROUP=flame
DJANGO_SETTINGS_MODULE=$NAME.settings
DJANGO_WSGI_MODULE=$NAME.wsgi
# export PWD=$DJANGODIR # still not work if I uncomment THIS LINE
RUNDIR=$(dirname $SOCKFILE)
test -d $RUNDIR || mkdir -p $RUNDIR
gunicorn ${DJANGO_WSGI_MODULE}:application \
--name $NAME \
--workers 7 \
--user=$USER --group=$GROUP \
--log-level=debug \
--bind=unix:$SOCKFILE
プロジェクトディレクトリから実行した場合:
[/home/flame/Projects/new_project]$ bash run_gunicorn.sh
それはうまくいきます。しかし、もし
[~]$ bash Projects/new_project/run_gunicorn.sh
エラーが発生します:
gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
現在の作業ディレクトリについてだと思います。そこで、gunicornexport PWD=$DJANGODIR
を実行する前にadd を変更します。しかし、エラーは残ります。
Python関連の環境変数についてですか?それとも何が問題ですか?