追加読書

追加読書

システムが再起動または起動するたびに、複数のgunicornサーバーを自動的に実行したいと考えており、バックグラウンドでも、これらのサーバーは通常フラスコサーバーです。

問題

  1. システムサービスを手動で起動している間はgunicornサーバーを実行できますが、後述の最初のサーバーのみを実行し、その後次のサービスを開始しません。
  2. システムを再起動または起動するたびに、サービスは自動的に起動しません。

Start.sh

base_gunicorn=/X/Y/anaconda3/envs/msclone/bin/gunicorn

cd ${base_path}"/ms/some_service1/"
${base_gunicorn} -b 0.0.0.0:8000 -w 1 --log-file some_service1.log wsgi:app >/dev/null 2>&1 &

cd ${base_path}"/ms/some_service2/"

${base_gunicorn} -b 0.0.0.0:8001 -w 1 --log-file some_service2.log wsgi:app >/dev/null 2>&1 &

myservice.service

[Service]
ExecStart=/X/Y/start.sh
RestartSec=2

答え1

#gunicorn1.サービス
[提供する]
ランタイムディレクトリ=gunicorn1
ユーザー=グニコン
タイプ=シンプル
作業ディレクトリ=/X/Y/anaconda3/envs/ms/some_service1/
ExecStart=/X/Y/anaconda3/envs/msclone/bin/gunicorn -b 0.0.0.0:8000 -w 1 wsgi:app
再開秒= 2
#gunicorn2.service
[提供する]
ランタイムディレクトリ=gunicorn2
ユーザー=グニコン
タイプ=シンプル
作業ディレクトリ=/X/Y/anaconda3/envs/ms/some_service2/
ExecStart=/X/Y/anaconda3/envs/msclone/bin/gunicorn -b 0.0.0.0:8001 -w 1 wsgi:app
再開秒= 2

docoに従って適切なソケットユニットを作成します。Wanted-By=これらの機能を有効/無効にする機能を[install]コンセントデバイスセクションに配置します。これはソケットユニットサービスデバイスではなく、自動起動が必要です - 再びdocoに従って。

追加読書

関連情報