セットアップ
デプロイのたびにサイトを落とさない
2026年8月20日
この記事はAIが下書きを作成しています。内容に誤りに気づいた場合はお問い合わせよりお知らせください。

レン
更新するたびに、一瞬サイトが見えなくなる気がするんだけど…

プロクラ
気のせいじゃないかもしれない。稼働中のファイルを直接置き換えると、その最中のアクセスが失敗することがあるんだ。当サイトでも実際に起きた。
何が起きるのか

プロクラ
動いているプログラムは、必要になった時点でファイルを読みに行くことがある。その瞬間に、ファイルが差し替え中だと、読めずにエラーになる。
- 古いファイルを消した後、新しいファイルが置かれるまでの隙間
- その間に来たアクセスが、エラーになる
- 検索エンジンの巡回が、その瞬間に当たることもある
- 自分では気づきにくい(数秒で終わるため)

プロクラ
当サイトの場合、デプロイのたびに数十件のエラーが出ていた。ログを見るまで、まったく気づいていなかったよ。
作ってから差し替える

プロクラ
考え方は単純だよ。稼働中の場所に直接書かず、別の場所で完成させてから、まとめて入れ替える。入れ替え自体は一瞬で終わる。
- 別のディレクトリに、新しい版を用意する
- 完成したことを確認する
- 参照先を、新しいほうへ切り替える
- 古い版は、しばらく残しておく(戻せるようにする)

プロクラ
4つめが保険になるよ。切り替えた後に問題が見つかったら、参照先を戻すだけで復旧できる。作り直しより、はるかに速い。
アプリの再起動も同じ考え方
- 止めてから起動すると、その間は応答できない
- 新しいプロセスを先に立ち上げ、切り替えてから古いほうを止める
- 対応している常駐の仕組みもある
- 個人のサイトなら、数秒の停止を許容する判断もあってよい

プロクラ
4つめは正直なところだね。完全に止めない構成は手間もかかる。まずはファイルの差し替えだけ直して、アプリの再起動は数秒許容する、という段階でも十分に効果があるよ。
気づけるようにする
- デプロイの後に、実際にページを取得して確認する
- エラーログに、その時刻の記録が無いか見る
- 外形監視を入れておけば、長い停止には気づける
- デプロイの手順に、この確認を組み込む

レン
上に書かずに、作ってから差し替える。それだけで違うんだね。
データベースの変更を伴う場合

プロクラ
ファイルの差し替えより厄介なのが、データベースの構造を変える更新だよ。新旧のコードが同時に動く瞬間があると、片方が対応していない構造を触ることになる。
- 構造の変更と、コードの入れ替えを分けて行う
- 先に、新旧どちらでも動く形の変更を入れる
- コードを入れ替えたあと、不要になった部分を消す
- 個人のサイトなら、短時間止めて一気にやるほうが単純

プロクラ
4つめは現実的な判断だよ。止められない規模でなければ、メンテナンス表示を出して数分止めるほうが、手順としてずっと簡単だ。
あわせて読みたい
- セットアップDigitalOceanビルドをどこでやるか:本番サーバーの負荷を避ける本番でビルドすると何が起きるのか、別の場所で作る場合の選択肢。小さいプランでビルドが失敗する理由と、その回避策を解説します。
- セットアップさくらのVPSVPSの申し込みから公開まで:全体の流れと、各社の管理画面の違い申し込みから公開までを5段階で解説し、各社の管理画面で呼び名が違う部分を対応表にまとめました。締め出されたときの戻り方も扱います。
- セットアップXServer VPSVPSのOSはどれを選べばいいか:Ubuntu・Debian・Rocky・AlmaLinux系統の違いと、選ぶときに効いてくる差。情報の見つけやすさ・サポート期間・コマンドの違いを整理し、迷ったときの決め方まで解説します。
- セットアップKAGOYA CLOUD VPScronが動かないときに見るところ手で実行すると動くのに、定期実行だと動かない。その原因のほとんどを占める環境変数とパスの問題を中心に、確認の順番を解説します。
サーバーを触る前に押さえておきたいこと
姉妹サイトの、この記事と相性のいいページです。
- Linuxコマンド入門
ls / cd / grep などを疑似ターミナルで試しながら学べる — prodou.net
- シェルスクリプト入門
サーバー作業の自動化スクリプトを基礎から — prodou.net
- Password Generator
サーバー用に強いパスワードをその場で生成 — toolkitbox.net
- Cron Generator
定期実行のcron式を組み立てる — toolkitbox.net