ruby-on-rails - Ruby (Rack) 应用程序无法启动错误消息

标签 ruby-on-rails mongodb terminal redis resque

我的 ruby​​ 应用程序工作正常,直到本周早些时候系统崩溃,现在我在页面上收到一条错误消息...

错误信息: 无法连接到位于 localhost:27017 的主节点(Mongo::ConnectionFailure)

异常类: PhusionPassenger::UnknownError

应用根目录: /home/deploy/www/gm-git

系统是这样设置的...

• Ruby on Rails 3.0.8 • Mongoid 2.0.2 • 用于后台处理的Redis & Resque

我尝试了以下启动顺序但没有成功...

/opt/redis/redis-server
/opt/mongodb/bin/mongod --force --logpath /opt/mongodb/bin
rake environment rescue:workers
touch /home/proyectos/gm/test_git/goldenmile

这个我已经更新过很多次了

/opt/redis/redis-server
/opt/mongodb/bin/mongod --fork --logpath /opt/mongodb/bin
/opt/mongodb/bin/mongod --repair
rake environment rescue:workers
touch /home/proyectos/gm/test_git/goldenmile

但我在终端中收到错误消息,例如

/opt/mongodb/bin/mongod --start
ERROR: unknown option start

/opt/mongodb/bin/mongod --status
ERROR: unknown option status

/opt/mongodb/bin/mongod start
Invalid command: start

/opt/mongodb/bin/mongod/ --logpath /opt/mongodb/bin
-bash: /opt/mongodb/bin/mongod/: Not a directory

/opt/mongodb/bin/mongod/ --logpath /opt/mongodb/bin/mongod/
-bash: 2b.: command not found

/opt/mongodb/bin/mongod/ --logpath /opt/mongodb/bin/mongod
-bash: /opt/mongodb/bin/mongod/: Not a directory

任何帮助/指示都是最有用的

最佳答案

localhost:27017 的 Mongo::ConnectionFailure 错误在 mongod 未运行时很典型。您应该使用 ps 命令检查这一点,必要时重新启动 mongod,然后运行 ​​mongo shell。如果 mongo shell 报告“错误:无法连接到服务器 127.0.0.1 shell/mongo.js:84”,则返回并检查 mongod 服务器进程的状态。

以下几行是可疑的。

/opt/mongodb/bin/mongod --fork --logpath /opt/mongodb/bin
/opt/mongodb/bin/mongod --repair

看来您正在尝试同时运行 mongod 服务器和进行修复。如果 mongod 已经在运行,修复尝试将退出,我猜你真的打算在启动 db 服务之前运行它。如果您在 64 位平台上,默认情况下日记功能处于打开状态,您不应进行修复以恢复一致的状态,请参阅 http://www.mongodb.org/display/DOCS/Durability+and+Repair

此外,修复可能需要很长时间,在此期间,您不能启动另一个 mongod 来提供 db 服务。我怀疑这是您的根本问题 - 正在运行修复,导致尝试启动数据库服务失败。

无论如何,mongod 似乎没有运行。 --start、--status、start 等选项如前所述都是未知的,mongod 还会为每个错误打印完整的选项列表。在 shell 命令(在 mongo 之后)之后有一个尾部斜线告诉操作系统寻找一个目录。您是否尝试在没有选项的情况下在 shell 中执行 mongod?怎么了?您需要让 mongod 作为数据库服务器运行(不是修复)并且应该验证它是否已启动并且您可以在继续之前使用 mongo shell 进行连接。

让我们知道结果如何。

关于ruby-on-rails - Ruby (Rack) 应用程序无法启动错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10945288/

相关文章:

ruby-on-rails - 如何显示谁访问了您的个人资料?

javascript - rails : Can't load two Jquery scripts in my page

node.js - (mongoose/promises) 你如何检查文档是否是使用 findOneAndUpdate 和 upsert 创建的

macos - 安装 MuJoCo

ruby-on-rails - 无法在 Heroku 托管的 Postgres 数据库上运行 Ruby on Rails 测试

ruby-on-rails - 验证有条件时数据库中的唯一性验证

java - NoSQL数据分割

node.js - 使用 NodeJS 将图像插入 MongoDB 服务器失败

C++ cin输入后一直在线

c - GDB 在 Linux 中带有 coredump 文件