如何配置 lighttpd 来为 Rails 应用服务器集群提供静态文档和代理请求?

如何配置 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 未找到。

我确实执行了 curl127.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 &

有什么方法可以调整它以获得更多日志输出?日志输出没有什么帮助。:)

答案1

看起来我需要使用代理模块而不是代理核心。

config.action_controller.asset_host我还将 Rails 设置为通过来引用资产config/environments/production.rb,通过设置为http://assets.brlafreniere.com并在我的 lighty 配置中设置一个指令来捕获$HTTP["host"] == "assets.brlafreniere.com"然后相应地设置 server.document-root,现在一切都运行良好。

相关内容