【问题标题】:Mongrel Cluster fails to startMongrel 集群启动失败
【发布时间】:2011-04-04 22:56:21
【问题描述】:

我在启动 Mongrel 集群时遇到问题,当我启动集群时出现以下错误: /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in 'gem_original_require': 没有要加载的文件 -- /home/admin/test-project/test-app/config /环境(加载错误)

log file link

我正在使用此命令启动服务器(以 root 身份):

  • cd rails_app_path
  • mongrel_rails cluster::start

对于 mongrel 设置,我执行了以下操作(以 root 身份):

  1. sudo gem install mongrel --include-dependencies
  2. sudo gem install mongrel_cluster --include-dependencies
  3. 创建杂种用户 useradd -r mongrel
  4. groupadd www-data
  5. chown -R mongrel:www-data
  6. mongrel_rails cluster::configure -e production -p 3007 -N 2 -c -a 127.0.0.1 --user mongrel --group www-data

我已经检查了config文件夹中文件的权限,它们如下:

  • -rw-r--r-- 1 mongrel www-data 2795 Aug 10 03:24 boot.rb
  • -rw-r--r-- 1 mongrel www-data 255 Aug 24 13:01 database.yml
  • -rw-r--r-- 1 mongrel www-data 319 Aug 24 12:51 database.yml.bak
  • -rw-r--r-- 1 mongrel www-data 2086 Aug 27 11:22 environment.rb
  • drwxr-xr-x 2 mongrel www-data 4096 Aug 27 08:46 环境
  • drwxr-xr-x 2 mongrel www-data 4096 Aug 10 03:24 初始化器
  • drwxr-xr-x 2 mongrel www-data 4096 Aug 10 03:24 locales
  • -rw-r--r-- 1 mongrel www-data 278 Aug 27 12:09 mongrel_cluster.yml
  • -rw-r--r-- 1 mongrel www-data 4037 Aug 22 09:49 routes.rb

其他细节:

  1. 操作系统 - CentOS 5.4 版
  2. Ruby - v 1.8.7
  3. 宝石 - v 1.3.7
  4. Rails - v 2.3.8
  5. Mongrel - v 1.1.5
  6. Mongrel 集群 - v 1.0.5

“mongrel_rails start”工作正常。

任何帮助将不胜感激。

谢谢。

戈文德·纳罗吉

【问题讨论】:

  • mongrel_cluster.yml 文件链接 - box.net/shared/2mgso1axfn
  • 当然不能回答你的问题,但我们从杂种转为飞梭乘客,再也没有回头。它的配置更加简单,启动速度也更快。从来没有任何问题。可能值得研究。
  • 感谢布拉德泽普洛克的建议。肯定会给Passenger一试。您是否知道与 Mongrel 相比,Passenger 有任何限制?另外,我听说“如果应用程序空闲了一段时间,Passenger 会杀死实例并且更易于管理,但如果应用程序空闲时间过长,可能没有运行,下一个请求将出现慢,因为它必须启动一个应用程序实例。”你有没有遇到过这个问题,有什么办法可以避免吗?
  • 你也可以考虑改用独角兽。对于快速客户端,它比 Mongrel 或Passenger 快得多,并且比Mongrel 更易于管理(尽管可能比Passenger 难一些)。关于主题,我听说 mongrel_cluster 在 2.3.8 的某些配置上有些损坏,所以你可能会在 rails lighthouse ticket 中寻找补丁。
  • Unicorn 用于快速客户端,nginx 是快速客户端。我们正在运行 unicorn + nginx,它就像一个魅力。

标签: ruby-on-rails mongrel mongrel-cluster


【解决方案1】:

我想我是由于权限问题而收到此错误。 app/config 文件夹中的所有文件都归 mongrel 用户所有,我试图以 root 用户启动它。

我已切换到乘客,但我遇到了与乘客相同的问题。问题现已解决 - 我将管理员用户设置为应用程序中所有文件的所有者,然后以管理员用户身份启动服务器。

我们决定使用乘客而不是 mongrel,因为 mongrel_cluster 在 2.3.8 中似乎被破坏了 - 我们在 mongrel 上遇到了 ActionController::InvalidAuthenticityToken 错误,而乘客或 webrick 上没有。

所以最后是它的乘客+nginx。

干杯!

戈文德·纳罗吉

【讨论】:

    【解决方案2】:

    你为什么要cd /config/environment?您应该从应用程序的根目录启动服务器。

    【讨论】:

    • 抱歉打错了:我是从 app_directory 开始的:* cd rails_app_path * mongrel_rails cluster::start
    猜你喜欢
    • 2016-07-03
    • 2015-01-23
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    • 2018-09-04
    • 1970-01-01
    • 1970-01-01
    • 2013-04-21
    相关资源
    最近更新 更多