有些时候,需要把整个网站切到临时维护模式,比如说升级PHP版本,或数据库版本之类的。
只要在nginx配置里加上几行代码即可实现,非常容易。
把下面的代码加入 server { ... } 中,默认注释掉, 当需要切成维护页面时候,把注释去掉就行,然后reload下nginx: nginx -s reload。
#maintain | |
if ($request_uri !~ "^/503.html") { | |
return 302 http://xxx.com/503.html; | |
#或者下面这种方式,2选1即可 | |
#rewrite ^(.*) http://xxx.com/503.html permanent; | |
} |
上面2种方式虽然可行,但返回的http code不是503,那如何让http code也返回503呢,如下配置即可,不用时把reurn 503注释掉即可。
return 503; | |
error_page 503 ; | |
location | {|
rewrite ^(.*)$ /503.html; | |
} |
网站根目录下,建立一下503.html页面。
<html lang="zh-CN"> | |
<head><meta charset="utf-8"><title>Leyeah.com</title><style> | |
body {margin: 200px auto; font-size: 3em;text-align: center} | |
</style> | |
</head> | |
<body> | |
<div > | |
网站正在维护中,请稍后访问... | |
</div> | |
<div style="margin-top: 550px;font-size: 14px;"><a class="beian" href="https://beian.miit.gov.cn/" target="_blank">网站的备案号</a> | |
</div> | |
</body> | |
</html> |