ハマログ

株式会社イーツー・インフォの社員ブログ

Laravel 8 のメンテナンスモード

メンテナンスページの表示で、AWSでは以前の記事のようにALBを使って比較的簡単に対応できますが、GCPではそれができないのでLaravel 8のメンテナンスのモードを使用して対応します。

1. メンテナンス中ページを用意する
resources/views/errors/配下にメンテナンス中ページを作成しておきます。

cat ./resources/views/errors/maintenance.blade.php
<!DOCTYPE html>
<html lang="ja">
    <head>
        <meta charset="utf-8">
        <title>エラー</title>
    </head>
    <body>
        <div>503</div>
        <div>
            <h3>Service Unavailable</h3>
            <p>只今メンテナンス中です。</p>
            <p>申し訳ありませんが、時間をおいて再度アクセスしてください。</p>
        </div>
    </body>
</html>

2. メンテナンスモードに切り替える
artisan downコマンドを実行します。
・オプション:––render
・パラメータ:errors::maintenance(ファイル名から.blade.phpを省く)

php artisan down --render="errors::maintenance"

Application is now in maintenance mode.

実行すると、作成したメンテナンス中ページが表示されます。
冗長構成の場合は、すべてのウェブサーバーに対してコマンドを実行する必要があります。

3. メンテナンス中表示を解除する
artisan upコマンドを実行します。

php artisan up

Application is now live.

メンテナンス中ページが解除され、通常の画面が表示されます。

4. パスワードを設定し、一時解除する
メンテナンス中に、開発側でテストや確認を行いたいときは、パスワードを設定しておくと便利です。
・オプション:–secret
・パラメータ:(パスワードを指定)

php artisan down --render="errors::maintenance" --secret="barbarbar"

Application is now in maintenance mode.

設定したパスワードをURLの末尾に指定してアクセスします。
https://example.com/barbarbar

通常の画面が表示されます。

  yama   2022年7月15日


関連記事

PHP STORMの検索結果が少ない件

置換しててあとから漏れが見つかったり、狙ったファイルが引っかからなかったりするこ…

GCEに対する外部からのSSH接続を拒否しつつ、GCPコンソールからのSSH接続を許可する

タイトルのとおりです。 GCEのVMをプライベートサブネットに配置して、踏み台か…

PHP5.6でカード決済できない

こんにちはいけしまです。もう少しで冬休みですね。早い方はもうお休みでしょうか。 …


← 前の投稿

次の投稿 →