Robust way to deploy a Rack application (Sinatra)

孤人 提交于 2019-12-04 12:19:52

问题


I'm looking for a robust way to deploy a Rack application (in this case a Sinatra app). Requests will take a little time (0.25-0.5 sec waiting on proxied HTTP requests) and there may be a decent amount of traffic.

Should I go with a traditional mongrel cluster setup? Use HAProxy as a load balancer? nginx? rackup?

What solutions have you used and what are the advantages?


回答1:


Nginx / Unicorn FTW!

Nginx in front to serve static files and unicorn to handle Sinatra app.

Benefits: Performance, good load balancing with unix socks and deploy/upgrade without any downtimes (you can upgrade Ruby/Nginx/Sinatra/app without downtime).

How-to : http://sirupsen.com/setting-up-unicorn-with-nginx/ .




回答2:


Nginx / passenger.

Nginx is very light, performant and has readable configuration files. Passenger is solid, easy to set up and works very well with rack - just have your config.ru in your app's main dir. Passenger can also take care of spawning processes and load balancing for you.



来源:https://stackoverflow.com/questions/4486320/robust-way-to-deploy-a-rack-application-sinatra

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!