Respuestas:
Nginx es mucho más liviano, ocupa menos memoria y otros recursos. Por otro lado, Apache tiene más módulos esotéricos, soporte incorporado para muchas cosas más, y se usa más ampliamente, tanto en general (por lo que hay más documentos y publicaciones de blog sobre cómo usarlo para diferentes tareas) como con Passenger (y mucho más). de los problemas ya se han encontrado y corregido).
En un nivel más subjetivo, encuentro que el formato de archivo de configuración de nginx es más fácil de trabajar y su modelo de procesamiento de solicitudes es más intuitivo.
Aquí hay una estafa a NGINX:
Mientras me estoy acostumbrando a NGINX, diría que me sorprende la frecuencia con la que necesito reiniciar el servidor NGINX al configurar reglas de reescritura y crear nuevos directorios para aplicaciones, etc.
Dicho esto, acabo de configurar Passenger, Ruby Enterprise Edition y Nginx en un VPS con 360 MB de RAM. Tengo experiencia limitada con Apache en un entorno de alojamiento compartido hace un par de años. Los archivos .htaccess de Apache, si no recuerdo mal, parecían ser más dinámicos. La falta de configuración dinámica parece no ser un problema ya que el VPS es mío.