[英]Connect to MongoDB on aws Server From Another Server
我正在從我的localhost創建一個javascript meteor應用程序,但我希望我的數據庫存儲在一個單獨的aws服務器上。
我是MongoDB和aws的新手。 我想知道如何從我的本地主機連接到我的數據庫?
這就像啟動Meteor應用程序一樣簡單, MONGO_URL
env變量設置為指向AWS機器上運行的Mongo實例。
假設您已在遠程計算機上打開端口27017:
MONGO_URL=mongodb://addresshere.compute-1.amazonaws.com:27017/yourdbname meteor
除了將應用程序配置為連接到遠程MongoDB之外,如其他答案中所述,還必須確保可以從網絡訪問服務器。
在AWS上訪問網絡資源的方法有很多種:
更改EC2實例的安全組配置 - 這可用作防火牆 - 並允許訪問端口27017.如果您只需要從計算機訪問它,則可以選擇允許從當前IP進行訪問。
使用ssh隧道連接到實例並在本地隧道連接該端口,例如ssh aws-host -L 27017:localhost:27017
或者,如果要通過不同的實例連接ssh aws-host -L 2017:target.mongo.host.amazonaws.com:27017
。 關於這個主題有一個很好的演示 - SSH / SSH的黑魔法可以做到嗎? 。
您可以使用mongoose連接它。
var mongoose = require('mongoose');
mongoose.connect('mongodb://serverIpaddress/databasename', function (err) {
if (err) {
return "no"
} else {
console.log('connection successful');
}
});
根據此鏈接,您可能需要檢查1)操作系統防火牆; 2)正確的服務綁定到私有IP地址(如果沒有,將您的IP添加到IP地址白名單; 3)您的Mongoose版本(如果使用)。 使用'npm list mongoose'查找版本,並將其更新到最新版本。
您可以使用Mongodb Atlas (一種可在Amazon Web Services(AWS)上提供的MongoDB即服務產品)來托管您的數據庫(它有一個免費的層),並使用MongoDB Compass輕松管理您的數據。
為了能夠通過Internet連接外部mongodb。 應滿足以下條件:
如果mongodb沒有公共IP(VPC內的專用網絡),您的localhost仍然可以使用以下方法之一訪問它:
在任何情況下 - 在開始編寫代碼之前 :嘗試使用telnet , netcat或一些工作的 mongodb客戶端連接到mongodb。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.