1

我尝试在新创建的 Ubuntu 11.04 系统(64 位)上远程安装 node.js + now.js + mongoDB。

我创建了一个这样的结构:

  • /home/xxx/server.js
  • /home/xxx/节点/
  • /home/xxx/node_modules/现在/
  • /home/xxx/http/index.html

node.js 和 now.js 没问题,它工作得很好,但我很难安装和设置 mongoDB。

我去了我机器的根目录并以这种方式安装了 Mongodb:

cd
sudo apt-get install mongodb

我不知道我是否应该,但我创建了一个这样的 data/db 文件夹:

cd
mkdir /data/db
chown `id -u` /data/db

完成后,我在适当的文件夹中安装了 node 的 mongodb 驱动程序:

cd /home/xxx/
npm install mongodb 

然后我启动了节点服务器。我的静态页面按原样显示,但这是大约 10 秒后我在 ssh 终端上得到的结果:

[TypeError: Cannot read property 'arbiterOnly' of undefined]
TypeError: Cannot read property 'arbiterOnly' of undefined
    at /home/xxx/node_modules/mongodb/lib/mongodb/connection/server.js:558:22
    at [object Object].checkoutReader     (/home/xxx/node_modules/mongodb/lib/mongodb/connection/server.js:575:16)
    at /home/xxx/node_modules/mongodb/lib/mongodb/db.js:1344:79
    at Db._executeQueryCommand (/home/xxx/node_modules/mongodb/lib/mongodb/db.js:1555:5)
    at Cursor.nextObject (/home/xxx/node_modules/mongodb/lib/mongodb/cursor.js:455:13)
    at Array.0 (/home/xxx/node_modules/mongodb/lib/mongodb/cursor.js:162:12)
    at EventEmitter._tickCallback (node.js:192:40)
Tue Apr 24 2012 07:12:45 GMT+0200 (CEST) [GET] http://www.verysurf.com/proxyheader.php
error loading file httphttp://www.verysurf.com/proxyheader.php:  { [Error: ENOENT, No such     file or directory 'httphttp://www.verysurf.com/proxyheader.php']
  errno: 33,
  code: 'ENOENT',
  path: 'httphttp://www.verysurf.com/proxyheader.php' }

这个“arbiterOnly”错误消息是关于什么的?我做错了什么?我用谷歌搜索了这个东西,但没有太多可以找到的东西。

而错误消息末尾的“www.verysurf.com”网址并不总是相同的。5分钟前我得到了这个(我没有改变任何东西,只是重新启动了节点服务器):

error loading file httphttp://59.53.91.9/proxy/judge.php:  { [Error: ENOENT, No such file     or directory 'httphttp://59.53.91.9/proxy/judge.php']
  errno: 33,
  code: 'ENOENT',
  path: 'httphttp://59.53.91.9/proxy/judge.php' }

我真的不知道这些网址是关于什么的。

请问有什么帮助吗?

谢谢你。

4

2 回答 2

0

我不知道为什么它会触发特定的错误消息,但在我看来,有人正在或有人正在嗅探您的网络服务器,以查看它是否是开放代理(它不是)。一些 HTTP 服务器,尤其是 Apache,很容易被错误配置为将任何请求代理给第三方:

http://en.wikipedia.org/wiki/Open_proxy

于 2012-04-24T14:51:01.657 回答
0

在连接完全初始化之前尝试请求数据库时,我收到了相同的消息([TypeError: Cannot read property 'arbiterOnly' of undefined])。

确保 db.open() 已完成(成功)

于 2012-06-08T09:21:37.387 回答