Help with capistrano and nginx

I’m using nginx with capistrano to deploy my Rails app and I’m having
a hard time getting the maintenance capistrano task
(deploy:web:disable) to work like I want. I want nginx to redirect all
requests to public/maintenance-on.html if the file exists, however,
since I use stylesheets and images on this file, nginx should serve
them. Here’s what I have so far on nginx.conf:

if (-f $document_root/public/maintenance-on.html) {
rewrite ^(.*)$ /maintenance-on.html last;

How could I make this not match urls containing /stylesheets/ and /

Thanks in advance

this question would probably be best answered on the deployment forum.
here u go:

Thanks, but the group seems kinda dead. None else has a similar

On Jul 1, 4:44 am, Shai R. [email protected]

Not sure if this helps at all, but taking a shot in the dark (I didn’t
your original post):


How could I make this not match urls containing /stylesheets/ and /

will modifiying the matching regexp work?

if (-f $document_root/public/maintenance-on.html) {
instead of
rewrite ^(.*)$ /maintenance-on.html last;


rewrite ^([^(stylesheets|images)]*)$


or something like that…

Thanks, working on the regexp would probably work. In this case it
almost worked, the maintenance is displayed on the index, and the
images work, but other internal pages still show up.

Any ideas?

On Jul 2, 8:22 am, Shai R. [email protected]

Not really what I’m looking for. I’m starting to think there’s no way
to do this, hasn’t anybody ever wanted to add images to their
maintenance pages?

On Jul 2, 5:41 am, “Walter McGinnis” [email protected]

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs