在localhost上运行mongodb时遇到meteorjs应用程序的问题

时间:2014-06-23 10:08:24

标签: mongodb meteor

我正在处理我正在处理的MeteorJs应用程序的一些问题。我正在为客户工作,我们正在使用他的专用服务器进行应用程序的部署。服务器安装了php,并且已经运行了apache服务器(一个php应用程序在服务器上运行)。服务器本身正在运行CentOS版本。

我捆绑了我的meteor应用程序并使用我的cPanel访问权限将其上传到服务器上(它不是根级访问权限)。我还创建了一个ssh密钥,并使用该ssh访问登录到服务器。

我使用export命令将MONGO_URL设置为mongodb://localhost:27017/<db-name>(服务器上安装的MongoDB版本2.6.3)和PORT设置为3000。从这里开始,我使用节点包&#34; pm2&#​​34;。

运行应用程序

现在的问题是,当应用程序运行时,它会访问数据库以获取数据。

  1. 请求来自客户端。
  2. 服务器收到请求(在实时日志中看到)
  3. 服务器从db获取数据并将其记录在终端中。
  4. 但是这需要大约10-15秒才能将数据发送回客户端。
  5. 在记录从服务器获取的数据并将其返回给客户端之间没有额外的命令或计算。

    但是,如果我将mongo URI更改为我的MongoLab实例,一切正常,没有延迟。我的客户更喜欢mongo在他的专用服务器上运行。

    作为一名程序员,我知道用有限的信息回答这个问题并且没有动手调试是很困难的。但我希望其他人遇到这个问题并且能够解决。我刚刚在服务器上安装了mongodb而没有任何进一步的配置。是否需要安装任何其他软件包或进行任何配置?

1 个答案:

答案 0 :(得分:4)

您需要设置MONGO_OPLOG_URL以启用oplog拖尾功能。当oplog tailing被禁用时,将该数据发送到客户端大约需要10-15秒。

像这样导出MONGO_OPLOG_URL

MONGO_OPLOG_URL=mongodb://localhost/local