分かっていてもなかなかできないWebサービスの更新
ある日私はウェブで公開しているデータをSSHからサーバに入ってvimでちょろちょろ直してたのですが・・。
そこで改めて思ったことをメモっておきます。
ウェブサービス(と言うかサイト)を更新するときの話なんですが、普通にFTPなどでファイルをアップロードするとデザインが揺れますよね。
ようは更新が完了するまでの間のアクセスの人に送られるデータがよく分からないことになる。
なので、一般的には下のような手順をとるべきなんだろうと思います。
- webのDocumentRootをどこかへのシンボリックリンクにしておく
- 日付をつけたディレクトリなど、新しいディレクトリを作る
- そこに新しいデータをすべてアップロードする
- シンボリックリンクを張り替える
これならサイトが『よく分からなくなる場合が有る時間』はアップロード期間中から、シンボリックを張り替える期間(を、はさんでリクエストしている人がいる)時間になるので、だいぶ短くなります。
ただもっと気を遣うのなら下記のようになるのでしょうか。
これなら理論上は『よく分からなくなる場合が有る時間』はゼロになります。
よかったよかった。問題は面倒くさいということだけですね!