-
Mémo Créer une page de maintenance pour un site Internet
Attention, travaux !
Une migration qui bug, des problèmes en cascade, une migraine qui pointe et c'est l'horreur. La crainte de la page blanche côté client peut être évitée, comme ceci :
Configuration du serveur
Dans le fichier de configuration du serveur (ici Nginx), on crée une exception qui renverra une erreur. Cette erreur affichera une page de maintenance.
/etc/nginx/sites-available/myapp.conf :
server { location / { proxy_pass http://unix:/run/gunicorn.sock; if (-f /var/www/html/maintenance_on.html) { return 503; } [...] error_page 503 /maintenance_on.html; location = /maintenance_on.html { root /var/www/html/; } } }
On relance le serveur :
systemctl restart nginx
Création du fichier html de la page de maintenance :
/var/www/html/maintenance_off.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Maintenance</title> <style> body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <center> <h1>Bienvenue sur monsite.com</h1> <p></p> <h3>Une maintenance est en cours !</h3> <p></p> <p>Merci de bien vouloir vous reconnecter dans un moment.</p> </center> </body> </html>
Automatisation du projet
Si ce n'est pas déjà fait, on crée une Makefile dans le dossier racine du projet :
$ cd /path/to/myproject $ touch Makefile maintenanceon: sudo mv /var/www/html/maintenance_off.html /var/www/html/maintenance_on.html maintenanceoff: sudo mv /var/www/html/maintenance_on.html /var/www/html/maintenance_off.html
Pour lancer la page de maintenance, il suffit maintenant de faire
make maintenanceon
ou
make maintenanceoff