【发布时间】:2013-07-18 19:24:37
【问题描述】:
如何将 nginx 配置为每天凌晨 3 点到凌晨 4 点提供“503 服务不可用”?
【问题讨论】:
标签: nginx
如何将 nginx 配置为每天凌晨 3 点到凌晨 4 点提供“503 服务不可用”?
【问题讨论】:
标签: nginx
然而,只检查维护标志要简单得多。
location / {
if( -f $document_root/maintenance.flag ) {
return 503;
}
}
现在,当您进行维护时,我认为这是由 cron 运行的,您创建文件并在完成后自行清理。它还有一个额外的优势,即您也可以为计划外维护创建该文件。
【讨论】:
SSI Module 有一个名为 $date_gmt 的变量,您可以从中抽出时间。一些带有该变量的 if 语句可能会有所帮助。
或者,您可以通过在 HTTPLuModule 中编译来在 Lua 中编写一些东西。 Lua 将为您在 Nginx 中做更复杂的事情提供更多的灵活性。缺点是您必须在其中编译模块。
我还没有测试过这段代码,但类似的东西可能帮助你开始。
location ~ / {
set_by_lua $between_three_and_four '
local time = os.date("*t")
local between_three_and_four = false
if time.hour == 3 then
between_three_and_four = true
end
return between_three_and_four
'
if ($between_three_and_four) {
return 503;
}
}
【讨论】: