AnA*_*ice 11 ruby-on-rails heroku ruby-on-rails-3
是否有一种干净,优雅的方式在Heroku应用程序中实现维护页面?因此,如果出现问题,您可以非常轻松地转换开关,维护页面可以满足所有要求吗?最好是一种不需要推动的方式?
想法?谢谢
num*_*407 13
注意这个答案解决了nginx或Rack设置问题,因为它是在编辑原始问题之前编写的,清楚地表明正在寻找特定于Heroku的答案.接受的答案最适合Heroku应用程序.
当你说"在你的应用程序中"你真的在你的应用程序中意味着什么?
因为通常解决方案是在Web根目录中删除维护文件.如果找到该文件,则503 Service Not Available
立即提供该文件.该请求甚至从未进入您的应用程序,这可能是"维护".
在nginx中,这样的事情:
location / {
if (-f $document_root/maintenance.html) {
return 503;
}
# continued server directives
}
error_page 503 @maintenance;
location @maintenance {
rewrite ^(.*)$ /maintenance.html break;
}
Run Code Online (Sandbox Code Playgroud)
它本身并不需要推送,但可能是一个简单的rake任务或者从你的app添加/删除该维护文件的东西.您也可以替换-f
支票中的任何给定文件名,只需在您的网络根目录中找到touch
一个空的任意maintenance.whatever
文件,然后指示nginx提供服务mainenance.html
.
如果你不想(或不能)搞乱服务器配置,这个非常简单的Rack中间件基本上做同样的事情:https: //github.com/ddollar/rack-maintenance
归档时间: |
|
查看次数: |
5604 次 |
最近记录: |