システム起動時にMongodbを実行するためにSystemdユニットファイルを作成しました。また、mongodbの起動後、起動時にノードアプリケーションを実行するためのsystemdサービスを作成しました。 mongodbのサービスは正常に動作しますが、何らかの理由でNodeアプリケーションのサービスが実行しようとしたときに、「MongoError:最初の接続時にサーバー[localhost:27017]に接続できませんでした」というエラーが表示されます。 $systemctl start mongodb
を使用してmongodbサービスを開始し、$/usr/bin/node /node_app_slot/server.js
を使用してノードアプリケーションを起動すると正常に動作しているようです。だから、問題は自分のノードサーバの私のsystemdユニットファイルにあるようです。ノードサーバのSystemdサービスがMongoDBに接続できません
[Unit]
Wants=network.target mongodb.service
After=network.target mongodb.service
[Service]
ExecStart=/usr/bin/node /node_app_slot/server.js
[Install]
WantedBy=multi-user.target
イムインテルエジソンでこれをやってhostapdを使用してアクセスポイントモードに設定します
は私が https://gist.github.com/jwilm/5842956そして、ここでは私のnode_server.serviceあるMongoDBのにsystemdサービスのためにこれを使用していました。 OSはYoctoで、最新のリリースで最新です。
どこが間違っているのかわかりません。誰かが私を正しい方向に導くことができたら、本当に感謝します!
ありがとうございます!
のMongoDBサーバは、実際に着信接続の受け付けを開始するのはしばらく時間がかかる可能性がある場合、私は疑問に思います。あなたはどこかで睡眠を挿入して、例えば10秒後に睡眠を受け入れることができるかどうか確認できますか? – robertklep
mongodbのログを見ましたか? mongodbが接続を受け入れる準備ができている場合は、nodejs要求を確認する必要があります。 – NotBad4U
また、失敗した代わりに接続を再試行することもできます(おそらく指数関数的に接続試行をバックオフすることによって) – nir0s