Eu queria colocar isso em um comentário, pois concordo com o ponto mais importante da webdestroy como resposta, mas demorou um pouco demais.
Você está em um ambiente VPS, isso significa que você provavelmente terá pouca memória RAM. Por esse motivo, você desejará o Nginx, pois seu espaço de memória é menor que o Apaches.
Também não concordo com alguns dos argumentos mencionados.
Facilidade de configuração:
Nginx não é mais difícil que o Apache. É diferente. Se você está acostumado ao Apache, as alterações sempre serão mais difíceis, isso não significa que o estilo de configuração em si seja mais difícil. Migrei completamente do Apache para o Nginx há mais de um ano e hoje eu lutaria para configurar um servidor Apache, considerando o Nginx extremamente fácil de configurar.
Para Ruby: o
Nginx possui o Passenger, no entanto, geralmente o vejo descrito como o método inferior para conectar-se ao Ruby. Como não sou um programador Ruby, não posso verificar isso, mas geralmente vejo o Unicorn e o Thin mencionados como melhores alternativas.
Em conclusão: o
Nginx foi criado para ser um proxy reverso. Inicialmente, tudo o que fez foi servir arquivos estáticos e reverter o proxy para um servidor back-end via HTTP / 1.0. Desde então, o fastcgi, o balanceamento de carga e vários outros recursos foram adicionados, mas seu objetivo inicial era servir arquivos estáticos e proxy reverso. E faz isso muito bem.
Apache, pelo contrário, é um servidor web de uso geral. Não tenho dúvidas de que ele pode reverter o proxy perfeitamente, mas não foi projetado para ter um espaço mínimo de memória e, como resultado, requer mais recursos do que o Nginx, o que significa que meu argumento inicial do ambiente VPS entra em jogo.