Correndo atrás do Apache2

2

Atualmente, meu servidor Ubuntu executa aplicativos RubyOnRails com o Apache2 + Passenger.

Agora preciso implantar um Sinatra (aplicativo Plain Ruby) que precisa ser executado no Thin em vez do Passenger.

Estou familiarizado com a configuração do Apache e gostaria de continuar dessa maneira, com o VirtualHosts (em sites disponíveis) etc.

Como posso "encaminhar" um VirtualHost no Apache para um servidor Thin?

    
por Frexuz 29.12.2011 / 21:15

2 respostas

6

Você estará configurando o Apache como um "proxy reverso" - esse termo de pesquisa indicará várias informações sobre a configuração, mas aqui está um exemplo que deve levar você até a implantação que está procurando para.

Se você estiver usando um hostname diferente e um <VirtualHost> diferente, você pode fazer algo assim:

<VirtualHost *:80>
    ServerName sinatra.example.com
    # Any normal settings you use go here; access logs, ServerAdmin, etc

    # Replace the 9999 below with the port that thin is using, note that it can't
    # be the same as Apache's port.
    # This can also be a service running on adifferent computer if you
    # use another IP address instead of 127.0.0.1
    ProxyPass / http://127.0.0.1:9999/
    ProxyPassReverse / http://127.0.0.1:9999/
</VirtualHost>

Uma configuração alternativa que pode ser útil para você seria apenas torná-lo um subdiretório de um <VirualHost> existente; você adicionaria um bloco <Location> à sua configuração existente:

<Location /sinatra/>
    ProxyPass http://127.0.0.1:9999/
    ProxyPassReverse http://127.0.0.1:9999/
</Location>
    
por 29.12.2011 / 21:45
0

Você pode usar o verniz para encaminhar solicitações de aplicativos. Eu fiz isso no meu último trabalho na pilha RoR / Varnish / NGINX.

Além disso, o cache do Varnish é incrível!

    
por 29.12.2011 / 21:18