0

現在実行中の Web サイト (php、python、ROR など) をデプロイしたいと考えています。
そして、私のコードは git でホストしています。「gitを使用してWebサイトの変更を展開する」
について読みました

そしてスタックオーバーフローの答え

そしてそれは便利です。しかし、それには問題があります。本番サーバーが中断されます。
時間は短いですが。ただし、サーバーの負荷が高い場合。また、ユーザーを中断します。

だから私の質問は、コードを中断せずに本番サーバーにデプロイする方法です。
いくつかの状況を想定します。

  1. 実稼働サーバーは 1 つだけです。
    実行可能な唯一の方法は、運用サーバーを停止して、展開が完了するまで待つことですか?

  2. 3 つ以上の実動サーバー。
    1 つの運用サーバーを停止してそこに展開し、完了するまで次のサーバーに展開できることはわかっています。
    しかし、これをより良くする方法はありますか?

メソッドはすべて自動にする必要があります。ありがとう!

4

2 に答える 2

0

リロード時に一部の接続を中断する可能性なしに、ライブ本番サーバーに直接デプロイすることはできません。実際には、サイトの種類によって異なります。たとえばphpページを提供しているサーバーの場合、ページを置き換えると、次のクライアントがそれらを取得できるようになります。しかし、展開がプロセスの再起動を意味する場合、それは中断します。最終的に、静的ページでない限り、何かと競合することになると確信しています。

おそらくできることは、プロキシの背後にある 2 つの運用サーバーを持つことです。1 つをライブにします。もう一方にデプロイし、デプロイが完了したら ip/host を切り替えて、新しく更新されたサーバーに新しいトラフィックを送信し始めます。元のサーバーはトラフィックを受信して​​いません。次回はそのサーバーにデプロイし、ホストをプロキシに戻すことができます。そうすれば、常にライブサーバーを利用できます。

于 2012-04-24T06:08:05.243 に答える
0

私の問題をほぼ解決するツールを見つけました。WePloy
という名前の PHP 作者 Rasmus Lerdorf によって開発されました。 ただし、PHP Web サイトのみをデプロイできます。

于 2012-04-25T08:14:33.487 に答える