Назад | Перейти на главную страницу

Как настроить lighttpd для обслуживания статических документов и запросов прокси к кластеру серверов приложений Rails?

Я пытаюсь настроить lighttpd так, чтобы он обслуживал статические документы моего приложения Ruby on Rails, а также направлял запросы на мои серверы приложений Ruby on Rails.

Это конфигурация, которая у меня есть:

$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"
}       

При такой конфигурации нажатие brlafreniere.com в моем браузере приводит к ошибке 404 not found.

Я завила 127.0.0.1:5000 и получил ожидаемый ответ - первую страницу моего приложения Ruby on Rails.

Я использую следующий сценарий для запуска серверов приложений.

#!/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 &

Есть ли способ настроить это, чтобы получить больше результатов журнала? Вывод журнала не очень полезен. :)

Похоже, мне нужно было использовать прокси-модуль вместо прокси-ядра.

Я также установил Rails для ссылки на активы через config.action_controller.asset_host в config/environments/production.rb, установив на http://assets.brlafreniere.com и установил директиву в моей легкой конфигурации, которая фиксирует $HTTP["host"] == "assets.brlafreniere.com" а затем соответствующим образом устанавливает server.document-root, и теперь все работает прекрасно.