Eu queria colocar isso em um comentário, já que eu concordo com o ponto mais importante da resposta do webdestroyas, mas ficou um pouco longo demais.
Você está em um ambiente VPS, isso significa que provavelmente você estará com pouca memória RAM. Por esta razão, você só vai querer o Nginx, já que sua pegada de memória é menor que o Apaches.
Também não concordo com alguns dos argumentos mencionados.
Facilidade de configuração:
O Nginx não é mais difícil que o Apache. É diferente. Se você está acostumado com o Apache, a mudança sempre será mais difícil, isso não significa que o estilo de configuração seja mais difícil. Eu migrei completamente do Apache para o Nginx há mais de um ano e hoje eu teria dificuldades para configurar um servidor Apache, ao passo que acho o Nginx extremamente fácil de configurar.
Para Ruby:
Nginx tem Passenger, no entanto, eu costumo vê-lo descrito como o método inferior para se conectar ao Ruby. Eu não sou um programador Ruby, então não posso verificar isso, mas muitas vezes vejo Unicorn e Thin mencionados como melhores alternativas.
Em conclusão:
O Nginx foi feito para ser um proxy reverso. Inicialmente tudo o que ele fazia era servir arquivos estáticos e fazer proxy reverso para um servidor de backend via HTTP / 1.0. Desde então, fastcgi, balanceamento de carga e vários outros recursos foram adicionados, mas o objetivo inicial do projeto era servir arquivos estáticos e proxy reverso. E isso faz muito bem.
O Apache, ao contrário, é um servidor web de uso geral. Não tenho dúvidas de que ele pode inverter o proxy perfeitamente, mas ele não foi projetado para ter uma pegada mínima de memória e, como resultado, requer mais recursos do que o Nginx, o que significa que meu argumento inicial de ambiente VPS entra em ação.