Quería poner esto en un comentario ya que estoy de acuerdo con el punto más importante de la respuesta de webdestroyas, pero se hizo demasiado largo.
Estás en un entorno VPS, esto significa que lo más probable es que tengas poca RAM. Solo por esta razón, querrá Nginx ya que su huella de memoria es más pequeña que Apaches.
Además, no estoy de acuerdo con algunos de los argumentos mencionados.
Facilidad de configuración:
Nginx no es más difícil que Apache. Es diferente. Si está acostumbrado a Apache, el cambio siempre será más difícil, esto no significa que el estilo de configuración en sí sea más difícil. Migré completamente de Apache a Nginx hace más de un año y hoy me costaría configurar un servidor Apache, mientras que Nginx es extremadamente fácil de configurar.
Para Ruby:
Nginx tiene Passenger, sin embargo, generalmente lo veo descrito como el método inferior para conectarse a Ruby. No soy un programador de Ruby, así que no puedo verificar esto, pero a menudo veo a Unicorn y Thin mencionados como mejores alternativas.
En conclusión:
Nginx fue hecho para ser un proxy inverso. Inicialmente, todo lo que hizo fue servir archivos estáticos y revertir proxy a un servidor back-end a través de HTTP / 1.0. Desde entonces, se ha agregado fastcgi, equilibrio de carga y varias otras características, pero su propósito de diseño inicial era servir archivos estáticos y proxy inverso. Y lo hace muy bien.
Apache, por el contrario, es un servidor web de propósito general. No tengo dudas de que puede revertir el proxy perfectamente bien, pero no fue diseñado para tener una huella de memoria mínima y, como resultado, requiere más recursos que Nginx, lo que significa que mi argumento inicial del entorno VPS entra en juego.