confを書き換えずに、nginxをメンテナンスモードに切り替える
こんにちは、中村です。
最近お預かりしてるWordPressのアップデートがあったりと、
メンテナンスモードにするタイミングが多かったので、いちいちconfを書き換えずにする方法で。(毎回confを書き換えるのは馬鹿らしいので)
geo $allow_ip {
default disable;
192.0.2.0 allow; # IPを指定
}
server{
:
:
error_page 503 maintenance.html;
set $maintenance false;
if (-e /var/tmp/do_maintenance) {
set $maintenance true;
}
if ($allow_ip ~ allow) {
set $maintenance false;
}
location /maintenance/ {
root メンテナンス用htmlのルート;
}
if ($maintenance = true) {
return 503;
}
:
:
}
こうしておくと、/var/tmp/do_maintenanceがあればメンテナンスモードになります。
(geo $allow_ipで指定したものはメンテナンスモードにはなりません。)
なのでメンテナンス開始時に、$ sudo touch /var/tmp/do_maintenanceをすればOKです。
終了あとは、rmしてください。
=======
いろんな経験ができると思うので、興味ある方宜しくお願い致します。