2

私のアプリケーションはFlaskで開発されており、ビルドアウトを使用して依存関係の分離を処理します。私はGunicornを使用し、wsgiコンテナーおよびプロセスマネージャーとして監視を行う予定です。その前に、負荷分散を行うNginxがあります。アプリケーションの新しいバージョンをデプロイするときの問題は次のとおりです。すべてがサブフォルダーに組み込まれています。バージョンの切り替えを適切に実行できるように、gunicornサーバーを再起動する方法を教えてください。

もちろん、私はいくつかの解決策を考え出します:

  1. gunicornとsuperviosrdを破棄し、apache mod_wsgiに切り替えます。新しいバージョンをデプロイするときに、.wsgiファイルのフォルダーを変更するだけで、サーバーが再起動します。

  2. virtualenvを使用し、gunicorn、supervisord、およびアプリケーションパッケージをインストールするため、バージョンを切り替えるときは、supervisorctlを使用して再起動します。

この状況を達成できる「純粋な」ビルドアウト方法はありますか?または、使用中の本番ソリューションはすべて高く評価されます。

前もって感謝します。

4

1 に答える 1

1

point-mod_wsgi-at-a-different-folderソリューションの場合と同様に、gunicorn/buildoutでも同じことができます。別のディレクトリに最新のビルドアウトを設定し、古いgunicornを停止して、新しいgunicornを起動するだけです。

もちろん、一方を停止してからもう一方を開始するまでに少し時間がかかります。

別の方法:異なるポート番号で新しいポートを設定し、nginx構成を変更して、ダウンタイム秒を本当にゼロにしたい場合はngnixをキックします。

于 2012-08-10T07:46:17.237 に答える