WEBrick, Apache, lighttpd ou Mongrel?
Diante de tantas opções, não é fácil para um desenvolvedor Ruby on Rails escolher o melhor servidor web para o seu software. Resolvi criar este post para tentar explicar de uma forma simples e rápida as diferenças entre os principais servidores web que suportam Rails.
WEBrick
Padrão. Se tivesse de resumir este servidor em apenas uma palavra, a palavra seria: padrão. É o servidor que "vem" com o framework. Ele é escrito em Ruby e por isto é fácil integra-lo com o Rails, pois ele pode fazer chamadas diretas à suas aplicações.
Em minha opinião é a opção mais simples e rápida de se usar.
Apache
O Apache é o servidor web mais usado no mundo. É a opção mais escalável e flexível para projetos Rails. Possui plugins que permitem que o servidor funcione com dezenas de linguagens de programação diferentes. Também suporta balanceamento de carga e sprayes de uma forma bem robusta.
Em outras palavras é a opção mais segura.
lighttpd
Velocidade é a palavra que estava na mente dos criadores do lighttpd. Não chega perto da flexibilidade oferecida pelo Apache, mas faz o serviço direitinho e muito rápido. Pode rodar softwares produzidos em Ruby on Rails por meio de uma interface FastCGI.
lighttpd é o papa-léguas dos servidores web para Rails.
Mongrel
O Apache é mais escalável e o lighttpd é o mais rápido, mas fazê-los funcionar com o Rails com certeza não uma tarefa das mais triviais. Mas fazer uma aplicação Rails rodar no Mongrel é extremamente fácil.
O Mongrel é tão simples de usar quanto o WEBrick, pois também é escrito em Ruby e foi construído com o mesmo conceito do lighttpd em mente: performance. Talvez por este motivo ele seja o queridinho da comunidade.
Outras opções
É claro que existem outros servidores web que podem ser utilizados para suportar uma aplicação em Ruby on Rails, na verdade qualquer servidor que suporte CGI pode fazer isto. Mas esses quatro são os mais usados hoje em dia.
Originally published at nomedojogo.com on September 25, 2007.