2016-05-19 6 views
2

私はDjangoプロジェクトを実行しています.GunicornとNginxにこのプロジェクトを提供します。 私はGunicorn 19.5を使用しています。Gunicornソケットファイルがありません

問題は、基本的に私のソケットファイルが作成されず、すべて(chmod 777、chown、...)を試しても何も動作していないことです。ここで

がgunicornを開始するために私のbashスクリプトです:

#!/bin/bash 
NAME="hello_project" # Name of the application 
DJANGODIR=/home/ubuntu/git/hello_project # Django project directory 
SOCKFILE=/home/ubuntu/git/hello_project/run/gunicorn.sock # we will communicte using this unix socket 
LOG_FILE=/home/ubuntu/git/hello_project/logs/gunicorn.log 

USER=ubuntu # the user to run as 
GROUP=ubuntu # the group to run as 
NUM_WORKERS=3 # how many worker processes should Gunicorn spawn 

MAX_REQUESTS=1 # reload the application server for each request 
DJANGO_SETTINGS_MODULE=hello_project.settings # which settings file should Django use 
DJANGO_WSGI_MODULE=hello_project.wsgi # WSGI module name 

echo "Starting $NAME as `whoami`" 

# Activate the virtual environment 
cd $DJANGODIR 
source ~/.virtualenvs/hello_project/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 ~/.virtualenvs/hello_project/bin/gunicorn ${DJANGO_WSGI_MODULE}:application \ 
–name $NAME \ 
–workers $NUM_WORKERS \ 
–max-requests $MAX_REQUESTS \ 
–user=$USER –group=$GROUP \ 
–bind=unix:$SOCKFILE \ 
–log-level=debug \ 
–log-file=$LOG_FILE 

私はここに狂っ取得しています、私が見ることができるログ・ファイルが存在しない、私はなくても成功して自分自身を提出ソケットを作成しようとしました。私はそれが許可の問題だと思うが、私がsudoでスクリプトを実行しても、うまくいきません。 私のディレクトリ "run"は作成されます。

2016/05/19 16:56:32 [crit] 11053#0: *28 connect() to unix:/home/ubuntu/git/hello_project/run/gunicorn.sock failed (2: No such file or directory) while connecting to upstream... 

どれ手がかり:ここ

はError.logファイルからnginxのエラーですか?

どうもありがとう、

答えて

0

exec ~/.virtualenvs/hello_project/bin/gunicornを実行せずにスクリプトを実行してみてください。

代わりにgunicornとそれを実行してみてください。

これは、virtualenvなしでシステムにgunicornをインストールする権限があることを前提としています。

実行しようとしているのと同じプロセスを開始する要点があります。 (ジャンゴ、nginxの、Gunicorn) https://gist.github.com/marcusshepp/129c822e2065e20122d8

私はあなたがそうあなたが、私は私のスクリプトで使用--deamonオプションを使用したくないとしているsupervisorを使用している参照してください。

関連する問題