Django と Python 2.6 で構築された新しい Web サイトをクラウドにデプロイしました (流行語に準拠し、Amazon マイクロ EC2 インスタンスは無料です!)。
詳細なメモは次のとおりです。
これは新しいサイトなので (そして最新かつ最高のサイトでプレイしたいので)、Supervisor の上に Nginx と Gunicorn を使用しました。
YUM / easy_install を使用してトランクからインストールされたすべてのソフトウェア。
私のデータベースはSqliteです(今のところ-次にどこに行くべきかはわかりませんが、それは問題ではありません). todo リストにもあります: virtualenv + pip。
ここまでは順調ですね。
私のコードはSVNにあります。デプロイする単純な fabfile を作成しました。最新のコードをチェックアウトし、Supervisor を介して Gunicorn を再起動します。DNS 名を Elastic IP にフックしました。
できます。
私の質問は、サービスを中断せずにサイトを更新するにはどうすればよいですか? 小さな更新スクリプトを実行すると、サイトのユーザーに 404 / 500 が返されます。
別のサーバーを追加せずにこれを行う方法はありますか (価格が重要です)?
ステージング システム (別のポート上?) と、ステージングと本番の間のシームレスな切り替えが欲しいです。同じ(無料)サーバー上。ファブリック経由。
それ、どうやったら出来るの?両方のサイトを実行しているのは同じ Nginx ですか? 本番環境に影響を与えずにステージングをアップグレードできますか? ファブファイルはどのようになりますか? ディレクトリツリーはどのようになりますか?
ありがとう!
タル。
関連している: