【发布时间】:2012-06-27 15:48:06
【问题描述】:
上限部署的维护页面不起作用。我尝试调试但没有看到我的错误有人看到我在这里想念的东西为什么它不起作用?谢谢
当我做 cap:web:disabled 它不显示维护页面,而只是显示应用程序!
在 deploy.rb 我有:
namespace :deploy do
namespace :web do
task :disable, :roles => :web do
require 'erb'
on_rollback { run "rm #{shared_path}/system/maintenance.html" }
reason = ENV['REASON']
deadline = ENV['UNTIL']
template = File.read('app/views/layouts/maintenance.html.erb')
page = ERB.new(template).result(binding)
put page, "#{shared_path}/system/maintenance.html", :mode => 0644
end
end
我的应用程序的 Nginx 配置:
upstream unicorn {
server unix:/srv/books/shared/tmp/unicorn.sock fail_timeout=0;
}
server {
listen 80 deferred;
server_name books.ltd;
root /srv/books/public;
try_files $uri/index.html $uri @unicorn;
location @unicorn {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://unicorn;
}
if (-f $document_root/system/maintenance.html) {
return 503;
}
error_page 503 @maintenance;
location @maintenance {
rewrite ^(.*)$ /system/maintenance.html last;
break;
}
#error_page 500 502 503 504 /500.html;
client_max_body_size 4G;
keepalive_timeout 10;
}
【问题讨论】:
标签: ruby-on-rails-3 deployment nginx capistrano setup-deployment