|
Apache
Probably the most popular web server to date.Download it from here.Since it's been around for so many years, it's gotten pretty complex, especially to configure.If you're not into really serious Ruby application development, I'd suggest trying a "lighter" server from the ones in the following list.
Mongrel could make a nice choice, and you can also run on top of Apache with mod_proxy_balancer if you're interested in load balancing the relatively easy way for example.Here's an instructive tutorial on that subject for those of you interested.
Mongrel
Mongrel is pretty new to the "web" scene.It’s best described as a small, very secure Ruby/C HTTP server.
Currently, it's proving it's perfect abilities in handling Ruby applications.You don't really want to run Mongrel all by itself unless in just a production environment.For real life use, you can pair Mongrel(actually you can pair a cluster of Mongrel servers) with Apache for the added speed and ability of configuration.
Probably every Ruby programmer has their own favorite server mix "flavor" and others might choose to pair servers in a totally different way, just because there are enough of them to give you that option.
LiteSpeed
LiteSpeed claims to be the best platform for the world's best performing Ruby SAPI and easiest Ruby on Rails application setup.Some LiteSpeed favorable articles:
http://blog.viget.com/ruby-on-rails-making-the-jump-to-litespeed/
http://www.usefuljaja.com/litespeed
http://weblog.textdrive.com/article/200/playing-with-lighttpd-litespeed-fcgi-and-mongrel
http://www.mathewabonyi.com/articles/2006/10/28/litespeed-lsapi/
http://weblog.rubyonrails.org/2006/01/26/running-rails-on-the-litespeed-webserver/
Be warned that LiteSpeed is not open source nor free and can get pretty expensive depending on the version you want.
Capistrano and Automating Application Deployment
Capistrano is most of the times used for deploying web applications.You can run tasks on multiple servers or define roles for servers, besides many other configuration options.
Some of the requirements are, as quoted from here:
" * You are interacting with at least one remote server.
- You may need to tunnel through a gateway server to access your target server.
- You are using SSH to connect to the servers.
- The remote server is capable of understanding POSIX shell commands. (Windows, by default, does not fall into this category. Neither do shells like csh and tcsh)
- The password for all servers is the same.
- Some things you only want to execute on a subset of your production environment, rather than on all of your production servers."
Here are some useful links:
http://wiki.rubyonrails.org/rails/pages/Capistrano
http://snippets.dzone.com/posts/show/2057
http://www.oreillynet.com/ruby/blog/2007/04/capistrano_20_not_just_for_rai.html
http://www.agileweb.org/2006/11/16/capistrano-a-ruby-gem
LightTPD
LightTPD is a very efficient web server.
http://blog.duncandavidson.com/2005/12/deploying_rails.html
http://blog.duncandavidson.com/2006/01/virtual_hosting.html
http://manuals.textdrive.com/read/book/9
http://wiki.rubyonrails.org/rails/pages/OS+X+with+lighttpd
|