Use Laravel's Maintenance Mode
Table of Contents
- A Note on Permissions
- Start Maintenance Mode
- Stop Maintenance Mode
- Customize Laravel's Maintenance Mode Message
Laravel includes a maintenance mode, which should be used whenever you need to modify your website. When your website is in maintenance mode, all visitors will be directed to a maintenance message page. This gives you the ability to communicate the downtime gracefully, instead of visitors seeing a series of Laravel error output messages. Learn how to put Laravel in and out of maintenance mode, and how to customize the maintenance message.
- A 1&1 Cloud Server with PHP and Laravel installed.
To install Laravel, follow the instructions in our article Install the Laravel PHP Framework on Ubuntu 16.04.
A Note on Permissions
In order to bring the site in and out of maintenance mode, Laravel creates a file in the
storage directory. Be sure to run the
chown command as shown in these instructions.
storage directory is owned by the
www-data user, the
php artisan up command will report "Application is now live" on the command line, but the site will still be in maintenance mode.
Start Maintenance Mode
Before you start maintenance mode, run the following command to give Laravel permissions to access the
storage directory. Replace
jdoe with your user name:
sudo chown -R jdoe:jdoe storage
Then use the following command to start maintenance mode:
php artisan down
This will put Laravel into maintenance mode. All visitors will be directed to the default maintenance message.
Stop Maintenance Mode
After you have finished making changes to your website, use the following command to end maintenance mode:
php artisan up
Then change permissions on the
storage directory to the web user:
sudo chown -R www-data:www-data storage
The site will return to normal functionality.
Customize Laravel's Maintenance Mode Message
To customize the Laravel maintenance page, edit the
503 Blade template:
We recommend customizing the Laravel maintenance message with your existing site's design. You can also add custom text to the message, to give your visitors an explanation of the outage ("We are currently performing scheduled maintenance") or an estimate of the outage length ("Please check back in a few minutes").
Tags: Laravel / PHP