Como configuro o lighttpd para servir documentos estáticos e solicitações de proxy para um cluster de servidores de aplicativos Rails?

1

Estou tentando configurar o lighttpd para que ele ofereça documentos estáticos do meu aplicativo Ruby on Rails e também roteie solicitações para meus servidores de aplicativos Ruby on Rails.

Esta é a configuração que tenho até agora:

$HTTP["host"] =~ "(^|www\.)brlafreniere.com$" {
    proxy-core.protocol = "http"
    proxy-core.balancer = "hash"
    proxy-core.backends = (
        "127.0.0.1:5000",
        "127.0.0.1:5001",
        "127.0.0.1:5002",
    )       

    server.document-root = "/var/www/brlafreniere.com/public"
}       

Com esta configuração no lugar, acertando brlafreniere.com no meu navegador resulta em 404 não encontrado.

Eu fiz o curl 127.0.0.1:5000 e recebi a resposta esperada, a primeira página do meu aplicativo Ruby on Rails.

Estou usando o seguinte script para iniciar os servidores de aplicativos.

#!/bin/bash

RAILS_ENV=production rake assets:clobber assets:precompile

puma --pidfile /tmp/brlafreniere.com.1 --environment production --port 5000 > log/puma.log 2>&1 &
puma --pidfile /tmp/brlafreniere.com.2 --environment production --port 5001 > log/puma.log 2>&1 &
puma --pidfile /tmp/brlafreniere.com.3 --environment production --port 5002 > log/puma.log 2>&1 &

Existe uma maneira que eu possa ajustar isso para obter mais saída de log? A saída do log não está sendo muito útil. :)

    
por Blaine Lafreniere 22.01.2014 / 12:56

1 resposta

0

Parece que eu precisava usar o módulo proxy em vez do proxy-core.

Eu também configuro o Rails para se referir a ativos via config.action_controller.asset_host em config/environments/production.rb , configurando para http://assets.brlafreniere.com e configurando uma diretiva em minha configuração lighty que captura $HTTP["host"] == "assets.brlafreniere.com" e então define o servidor.document-root de acordo e tudo funciona lindamente agora.

    
por 23.01.2014 / 00:55