シェルスクリプトでgunicornサーバーを起動しようとしています。問題は、サイトにアクセスできないことです(ブラウザ経由でアクセスしようとすると接続がタイムアウトします)。ここに2つのスクリプトがあります。1つは機能し、もう1つは機能しません。最初のスクリプトが機能しない理由と問題を解決する方法を理解しようとしています。
最初のsript(機能しません; domain.com:8000のサイトにアクセスしようとすると接続がタイムアウトします;ログにエラーはありません):
#!/bin/bash
set -e
LOGFILE=/var/log/gunicorn/hello.log
LOGDIR=$(dirname $LOGFILE)
NUM_WORKERS=3
USER=lumiawor
GROUP=lumiawor
cd /home/lumiawor/public_html/test/hello
source /home/lumiawor/public_html/test/bin/activate
test -d $LOGDIR || mkdir -p $LOGDIR
gunicorn_django -w $NUM_WORKERS \
--user $USER --group $GROUP --log-level debug \
--log-file $LOGFILE 2>>$LOGFILE
2番目のスクリプト(動作します; domain.com:8000でサイトがロードされます):
#!/bin/bash
set -e
LOGFILE=/var/log/gunicorn/hello.log
LOGDIR=$(dirname $LOGFILE)
NUM_WORKERS=3
USER=lumiawor
GROUP=lumiawor
cd /home/lumiawor/public_html/test/hello
source /home/lumiawor/public_html/test/bin/activate
test -d $LOGDIR || mkdir -p $LOGDIR
gunicorn_django -w $NUM_WORKERS -b 0.0.0.0:8000
--user $USER --group $GROUP --log-level debug \
--log-file $LOGFILE 2>>$LOGFILE
唯一の違いは、gunicorn_djangoの行にあります。バックスラッシュの意味は実際にはわかりません。gunicornにデフォルトのアドレスで実行するように指示しますか?