1

新しく作成したUbuntu11.04システム(64ビット)にnode.js + now.js+mongoDBをリモートでインストールしようとしています。

私は次のような構造を作成しました:

  • /home/xxx/server.js
  • / home / xxx / node /
  • / home / xxx / node_modules / now /
  • /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

完了したら、ノードの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」のURLは、必ずしも同じではありません。これを入手する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' }

私はこれらのURLが何であるかを本当に知りません。

何か助けてください?

ありがとうございました。

4

2 に答える 2

0

特定のエラーメッセージが表示される理由はわかりませんが、誰かがあなたのウェブサーバーをスニッフィングして、それがオープンプロキシであるかどうかを確認しているように見えます(そうではありません)。一部の HTTP サーバー、特に Apache は、サード パーティへのリクエストをプロキシするように簡単に設定を誤っています。

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

于 2012-04-24T14:51:01.657 に答える
0

接続が完全に初期化される前にデータベースを要求しようとすると、まったく同じメッセージ ([TypeError: 未定義のプロパティ 'arbiterOnly' を読み取れません]) が表示されます。

db.open() が (正常に) 終了したことを確認してください

于 2012-06-08T09:21:37.387 に答える