1

我正在尝试使用 Rails 和 Mongrel 启动并运行我的 rails 应用程序。将浏览器指向应用程序时,我不断收到 403 权限被拒绝 Apache 错误。

我可以确认我的 mongrel_rails 实例正在运行(端口 3001、3002 和 3003)。

这是我的 vhost.conf:

<Proxy balancer://mongrelcluster>
  BalancerMember http://127.0.0.1:3001
  BalancerMember http://127.0.0.1:3002
  BalancerMember http://127.0.0.1:3003
</Proxy>

<VirtualHost *:80>
  ServerName subdomain.domain.co.uk
  ServerAlias subdomain.domain.co.uk
  ProxyPass / balancer://mongrelcluster/
  ProxyPassReverse / balancer://mongrelcluster/
  ProxyPreserveHost on
</VirtualHost>

我想我一定在这里遗漏了一些东西。我尝试在我的虚拟主机中添加一个 DocumentRoot 指令,该指令指向我的应用程序的根目录,但无济于事。

这是我的 mongrel 日志(RE 端口 3003)的一些输出:

** 信号准备就绪。期限 => 停止。USR2 => 重启。INT => 停止(不重新启动)。** Rails 信号已注册。HUP => 重新加载(无需重新启动)。它可能无法正常工作。** Mongrel 1.2.0.pre2 在 0.0.0.0:3003 2012-08-08 10:32:14 +0000 可用:调用 Dispatcher.dispatch # /usr/local/rvm/gems/ruby-1.9.3-p194 时出错/gems/mongrel-1.2.0.pre2/lib/mongrel/rails.rb:76:in block in process' <internal:prelude>:10:insynchronize' /usr/local/rvm/gems/ruby-1.9.3-p194/gems/mongrel-1.2.0.pre2 /lib/mongrel/rails.rb:74:in process' /usr/local/rvm/gems/ruby-1.9.3-p194/gems/mongrel-1.2.0.pre2/lib/mongrel.rb:165:in block in process_client' /usr/local/rvm/gems/ruby-1.9.3-p194/gems/mongrel-1.2.0.pre2/lib/mongrel.rb:164 :in each' /usr/local/rvm/gems/ruby-1.9.3-p194/gems/mongrel-1.2.0.pre2/lib/mongrel.rb:164:in process_client' /usr/local/rvm/gems/ruby-1.9.3-p194/gems/mongrel-1.2.0.pre2/lib/mongrel.rb:291:in `block (2 levels) in run'

我可以看到某处的调度存在错误(此错误仅在第三个也是最后一个端口上普遍存在)。我跑了

gem install dispatch

但我仍然遇到这个问题。我不知道问题是否与 apache、mongrel 或两者有关。

有小费吗?

4

0 回答 0