[英]timeoutError - MongoServerSelectionError: connect ECONNREFUSED ::1:27017 - [NodeJS + MongoDB]
[英]NodeJS cannot connect to MongoDB on server ECONNREFUSED
我有一個基本腳本,用於測試連接到數據庫。
當我嘗試使用node Connection.js
運行腳本時,腳本運行,但我沒有在控制台中收到successfully connected to the database
的響應,並且我沒有收到任何錯誤。 看起來腳本運行但沒有任何反應。
在 VPS 上,我使用的是 Ubuntu 18.04。 我允許來自本地計算機的 IP 地址和端口。
任何想法有什么問題,我試圖找到與這個主題相關的任何東西,但沒有成功
連接.js
const mongoose = require('mongoose');
var express = require('express');
const router = express.Router();
// this is our MongoDB database
const dbRoute =
'mongodb://username:password@ip.adress:22/CryptoCurrencies';
mongoose.Promise = global.Promise;
// connects our back end code with the database
mongoose.connect(dbRoute, {
useNewUrlParser: true,
useUnifiedTopology: true
});
let db = mongoose.connection;
db.once('open', () => console.log('connected to the database'));
編輯1
我編輯了代碼,我 100% 確定我允許在我的 ubuntu 服務器port 22
上,但我仍然無法使用 Node 連接到我的 VPS
我收到此錯誤 - (node:10115) UnhandledPromiseRejectionWarning: MongooseServerSelectionError: connect ECONNREFUSED
關於如何解決這個問題的任何想法? 用戶名和密碼正確,DB名也正確,ip地址和端口也正確。 目前我完全不明白出了什么問題。 我檢查了大量資源來解決這個問題,然后將我的 NodeJS 腳本從本地機器連接到 VPS 服務器。
我有點確定您的 VPS 必須將端口 22 綁定到 openssh-server ...您確定您已經能夠正確啟動 mongod 並且它正在偵聽端口 22?
順便說一句,1024 以下的所有服務都是標准化的,您應該始終嘗試使用 1024 以上的端口。
你能和我們分享一下你的mongod的配置嗎?
服務器上的配置似乎存在一些問題。 請通過這些檢查清單 go 解決問題。
bind_ip = 127.0.0.1
僅用於本地, bind_ip = 0.0.0.0
用於偵聽來自所有網絡接口的流量。)了解更多詳細信息。CryptoCurrencies
)查看此鏈接,了解如何在 MongoDB 服務器實例https://medium.com/mongoaudit/how-to-enable-authentication-on-mongodb-b9e8a924efac上配置身份驗證
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.