0

我已经在生产中切换到 rbenv(暂存是正确的),并且大多数切换似乎都可以正常工作。我已遵循此处概述的准则:http ://blog.danielpietzsch.com/post/14005159872/running-a-rails-app-in-production-using-rbenv-apache

但是,运行rake assets:precompile会抛出Failed to connect to a master node at localhost:27017。我的猜测是,这是其他东西丢失或误入歧途的症状。

哪个耙

root@staging1:/var/www/staging# which rake
/usr/local/rbenv/shims/rake

rbenv 版本

root@staging1:/var/www/staging# rbenv version
1.9.3-p125 (set by /usr/local/rbenv/version)

mongod 在 localhost:27017 上运行

root@staging1:/var/www/staging# mongo --port 27017 --host localhost
MongoDB shell version: 1.8.0
connecting to: localhost:27017/test
> exit
bye

触发错误的 rake 任务

root@staging1:/var/www/staging# rake assets:precompile
/usr/local/rbenv/versions/1.9.3-p125/bin/ruby /usr/local/rbenv/versions/1.9.3-p125/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets
rake aborted!
Failed to connect to a master node at localhost:27017  <--------------- ERROR

Tasks: TOP => environment
(See full trace by running task with --trace)
rake aborted!
Command failed with status (1): [/usr/local/rbenv/versions/1.9.3-p125/bin/r...]

Tasks: TOP => assets:precompile
(See full trace by running task with --trace)

这是使用 --trace 的 rake 任务:http: //pastie.org/private/ww9wm0wlm6le6wbtmq89ia

我在heroku上发现了其他一些有同样问题的人,但在那种情况下,这似乎是因为mongo真的没有运行:http: //blog.noizeramp.com/2011/10/14/rails-3-资产管道在heroku-when-using-mongoid/

如果需要,我很乐意提供更多详细信息。请告诉我,我会用更多细节更新问题。

4

1 回答 1

0

原来我在我的 mongoid.yml 中使用了这个:

defaults: &defaults
  use_utc: true
  host: localhost
  allow_dynamic_fields: false
  ...

在 /etc/mongodb.conf 中:

bind_ip = 127.0.0.1

由于某种原因,这不起作用。更改为 127.0.0.1 解决了这个问题。

于 2012-03-17T15:48:34.630 回答