まず第一に、私は多くのDjangoインスタンスをこのようにセットアップして実行しています。
各プロジェクトには、gunicornなどを起動するscript.shシェルスクリプトがあります。
#!/bin/bash
set -e
LOGFILE=/var/log/gunicorn/app_name.log
LOGDIR=$(dirname $LOGFILE)
NUM_WORKERS=3
# user/group to run as
USER=root
GROUP=root
PORT=8060
IP=127.0.0.1
cd /var/www/webapps/app_name
source ../bin/activate
test -d $LOGDIR || mkdir -p $LOGDIR
exec /var/www/webapps/bin/gunicorn_django -b $IP:$PORT -w $NUM_WORKERS \
--user=$USER --group=$GROUP --log-level=debug --log-file=$LOGFILE 2>>$LOGFILE
このスクリプトをコマンドラインからbashscript.shを使用して実行すると、サイトは完全に機能するため、Nginxは正しくセットアップされます。
サービスapp_namestartでupstartを使用するとすぐに、アプリが起動して停止します。ログファイルにも書き込みません。
これは/etc/init/app_name.conf内のapp_name.confファイルです:
description "Test Django instance"
start on runlevel [2345]
stop on runlevel [06]
respawn
respawn limit 10 5
exec /var/www/webapps/app_name/script.sh
では、ここでの問題は何ですか?コマンドラインから実行する原因は機能しますが、トラフアップスタートを実行しても機能しません。そして、私は何が間違っているのかどこを見ればいいのかわかりませんか?