我正在尝试配置 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,现在一切都运行良好。