2

(virtualenv内で)呼び出しpython manage.py run_gunicornてguniconを開始しています。

Ubuntu 12.04 サーバーの再起動後に gunicorn を再起動するにはどうすればよいですか?

4

3 に答える 3

3

スーパーバイザーを使用して、起動時にアプリを起動し、クラッシュ時に再起動できます。

スーパーバイザーをインストールし、次の /etc/supervisor/conf.d/your_app.confような内容の構成ファイルを作成します。

[program:your_app]
directory=/path/to/app/working/dir
command=/path/to/virtualenv_dir/bin/python /path/to/manage_py/manage.py run_gunicorn
user=your_app_user
autostart=true
autorestart=true
于 2013-01-24T17:49:27.547 に答える
3

私は Ubuntu を使用していて、ディストリビューションに既に含まれているツールを使用するのが好きなので、マシンの起動後にUpstartを使用して gunicorn を起動しました。

次のコードを に入れます/etc/init/django_sf_flavour.conf

description "Run Custom Script"
start on runlevel [2345]
stop on runlevel [06]
respawn
respawn limit 10 5
exec /home/USER/bin/start_gunicorn.sh

/home/USER/bin/start_gunicorn.sh起動後にこのファイル ( ) を実行します。

#!/bin/bash
set -e
cd MY_PROJ_ROOT
source venv/bin/activate
test -d $LOGDIR || mkdir -p $LOGDIR
exec python MY_PROJ_PATH/manage.py run_gunicorn
于 2013-01-26T14:19:29.447 に答える
0

これは @j7nn7k の回答に基づいていますが、少し変更があります

1 - upstart で実行する .conf ファイルを /etc/init ディレクトリに作成します

cd /etc/init
nano django_sf_flavour.conf

2 - 以下の行を django_sf_flavour ファイルに入れて保存します。

description "Run Custom Script"
start on runlevel [2345]
stop on runlevel [06]
respawn
respawn limit 10 5
exec /home/start_gunicorn.sh

3 - 次の行を含むホーム ディレクトリに start_gunicorn.sh ファイルを作成します。

cd /home
nano start_gunicorn.sh

4 - これらのコードを入れて保存します。

#!/bin/bash
set -e
cd mysite
source myenv/bin/activate
test -d $LOGDIR || mkdir -p $LOGDIR
exec gunicorn —bind 0.0.0.0:80 mysite.wsgi:application

5 - 実行可能なパーミッションを start_gunicorn.sh に設定します

cd /home
chmod 775 start_gunicorn.sh

** 追加 **

このコマンドで構文django_sf_flavour.confを確認してください

init-checkconf /etc/init/django_sf_flavour.conf

答えは次のようになります。

File /etc/init/django_sf_flavour.conf: syntax ok

必要に応じて、upstart ログ ファイルで問題を確認できます。

cat /var/log/upstart/django_sf_flavour.log

再起動せずに、このように django_sf_flavour.conf ファイルをテストします

service django_sf_flavour start

このようにbashファイル「start_gunicorn.sh」をテストします

cd /home 
bash start_gunicorn.sh 

django_sf_flavour の状態を確認する

initctl list | grep django_sf_flavour
于 2017-04-13T19:35:00.907 に答える