我正在尝试部署我的小型 Rails 应用程序。我的 VPS 正在运行 Apache 2.2,我希望将请求定向到一个 mongrel 集群来处理我的新 Rails 应用程序。

ruby 版本 1.9.3
Rails 版本 3.2.7
Mongrel 版本 1.2.0 (gem install mongrel --pre)

我做了什么

我已经为端口 3001 到 3003 启动了 3 个 mongrel 守护进程,如下所示:

mongrel_rails start -e production -p 3001 -d -P log/mongrel1.pid

分别。

运行每个启动命令后需要注意的事项;我收到以下通知:



我的理解告诉我这应该不是问题,但是当我运行时:
ps aux | grep mongrel

我得到:
someotheruser     17186  0.0  0.1 101064  1336 pts/0    S    12:56   0:00 su mongrel
mongrel  17187  0.1  0.3  67260  2872 pts/0    S    12:56   0:00 bash
mongrel  17284  0.0  0.1  65600   980 pts/0    R+   12:56   0:00 ps aux
mongrel  17285  0.0  0.0  61176   728 pts/0    R+   12:56   0:00 grep mongrel

即,我找不到服务器进程。

我已经更新了我的虚拟主机,看起来像:
<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.mydomain.co.uk
  ServerAlias subdomain.mydomain.co.uk
  ProxyPass / balancer://mongrelcluster/
  ProxyPassReverse / balancer://mongrelcluster/
  ProxyPreserveHost on
</VirtualHost>

当我将浏览器定向到 subdomain.mydomain.co.uk 时,我遇到了 Apache 403 错误,但我不知道错误在哪里。很可能 mongrel 没有按应有的方式运行,但也许我的虚拟主机设置不正确。

感谢任何帮助和/或指导,谢谢!

最佳答案

检查了 Mongrel 日志文件,似乎问题是我的 database.yml 文件将适配器指定为 sqlite3,而它应该是 mysql2。我没有安装 sqlite3,所以 Mongrel 无法启动。

10-08 11:57