xirukitepe
xirukitepe

Reputation: 1615

Maintenance mode in AWS EC2

In heroku we could use the command heroku maintenance on or off... How can I do it in my AWS EC2 web services? I tried just to stop the server using sudo service nginx stop but I don't like the error page that was displayed. It says error in url. In heroku if i use the maintenance command, the error page will display "Under contruction" "Maintenance" or something like that.

How can I do it in Amazon web services? thanks

Upvotes: 1

Views: 2251

Answers (2)

Roman Newaza
Roman Newaza

Reputation: 11690

You have to do it yourself. AWS does not provide that.

Upvotes: 4

j_mcnally
j_mcnally

Reputation: 6958

Yeah, so heroku has routing magick, think of the default WebBrick server your rails app is running as running outside of rails. Idk, assuming you use passenger you would'nt really notice this but at a high level, nginx is proxying your apps' port 3000 to port 80 for certain requests. I appologize if you don't know what I mean by that.

So (YOUR APP) ---> (NGINX) -----> (Client)

the advantage here, is that nginx keeps running but during maintience mode they most likely start shooting you pages to static content. If you too run you rails app via a proxy rather than via passenger, than you solution is easy. Stop your WebBrick, mongrel, unicorn, thin (what ever app server here) and setup an error message page for bad gateway errors aka 502 route.

If you use passenger. You could write a location block, that would over ride all your routes to a maintence page and switch Passenger to off in that server block, now rather than serving your app you can serve a static maintence page.

Heroku wraps alot of technology and exposes nice tools, so you'll need to do a bit more ground work to automate your stack. But this is a place to start.

Upvotes: 1

Related Questions