0

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関連の環境変数についてですか?それとも何が問題ですか?

4

1 に答える 1

3

使用する

export PWD=$DJANGODIR

現在の作業ディレクトリを実際に変更するわけではありません。pwdの後にコマンドを使用すると、シェルでこれを簡単に確認できますset。次のようなものを含める必要があります

cd $DJANGODIR

あなたのスクリプトに。

于 2013-12-22T11:15:32.067 に答える