在Windows Server 2008上安装MongoDB
我是mongoDB的新手,到目前为止我很喜欢它,我在本地为我的开发人员工作,在那里我让mongo在Win7上作为服务运行。我在Win server 2008上的VPS上以服务的形式运行它。当我在服务器上时,它工作正常,但我不知道如何设置它,以便我可以从服务器外部访问它?找不到关于这个的好文件。此外,我很难从本地计算机在服务器上执行备份/恢复,因为我无法从服务器外部看到它 我还想了解更多有关主/从和居屋的信息,以便正确设置 当我运行netstat-anb时,我得到在Windows Server 2008上安装MongoDB,mongodb,windows-server-2008,Mongodb,Windows Server 2008,我是mongoDB的新手,到目前为止我很喜欢它,我在本地为我的开发人员工作,在那里我让mongo在Win7上作为服务运行。我在Win server 2008上的VPS上以服务的形式运行它。当我在服务器上时,它工作正常,但我不知道如何设置它,以便我可以从服务器外部访问它?找不到关于这个的好文件。此外,我很难从本地计算机在服务器上执行备份/恢复,因为我无法从服务器外部看到它 我还想了解更多有关主/从和居屋的信息,以便正确设置 当我运行netstat-anb时,我得到 TCP 127.0.0
TCP 127.0.0.1:27017 0.0.0.0:0 LISTENING
[mongod.exe]
TCP 127.0.0.1:27017 127.0.0.1:62990 ESTABLISHED
[mongod.exe]
TCP 127.0.0.1:28017 0.0.0.0:0 LISTENING
这就是mongod.exe的全部内容
[编辑]
我尝试用--bind_ip xxx.x.x.xx重新安装,现在xxx.x.x.xx:27017可以工作,但只有在远程服务器上,如果我尝试从任何地方访问失败的话
此外,我关闭了防火墙,它没有改变任何事情
非常感谢 如果你不能远程访问它,听起来像是防火墙问题。默认情况下,mongod侦听端口27017。该端口是否可以从您尝试连接的计算机访问?这听起来更像是防火墙问题,而不是mongod的问题。您是否可以编辑您的问题以提供mongo服务运行的命令行
关于blog中副本集的信息,这是一个很好的来源。尝试从管理员DOS提示符运行此命令,以打开对默认MongoDB端口27017的外部访问:
C:\> netsh.exe advfirewall firewall add rule name="MongoDB (port 27017)"
dir=in action=allow protocol=TCP localport=27017
我想我找到了实现它的方法。首先,允许在防火墙上使用端口27017。然后,我使用配置文件将Mongo作为服务安装。我创建了mongos.conf,如下所示:
dbpath = d:\mongo\data
logpath = d:\mongo\logs
noauth = true # use 'true' for options that don't take an argument
我保存在:d:\mongo\mongos.conf下
然后我在命令行中执行了以下操作:
mongod --config d:\mongo\mongos.conf --reinstall
关键是确保配置文件中没有bind_ip config密钥。因此,它将允许mongo绑定到任何ip。然后你就可以去
并查看以下消息:
You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number
您还应该能够访问:
(您的ip)并且您应该看到相同的输出
对于MongoDb 4.x,我做了以下几件事:
C:\Program Files\MongoDb\Server\4.0\bin
上,它包含一个名为mongod.cfg
的文件
- 我在管理模式下打开记事本++编辑器并编辑文件
- 查找
并添加主机ipbindIp:127.0.0.1
bindIp:127.0.0.11992.168.1.xxx
192.168.1.xxx:27017
# network interfaces
net:
port: 27017
# bindIp: 127.0.0.1
bindIp: 0.0.0.0
让mongo db绑定到0.0.0.0,即所有接口,而不仅仅是127.0.0.1。
然后,它将允许连接到所有接口。安装mongo和setup
#网络接口
净:
港口:27017
#bindIp:127.0.0.1
bindIp:0.0.0.0
最后两个步骤将允许您进行远程访问
创建用户
嗨,贾斯汀,我已经有端口27017例外的windows防火墙,TCP协议。在localhost:27017服务器上,我可以看到它可以工作,但从外部看不到。Mongo使用Mongo DB作为服务运行。它在本地服务器上运行正常,但我无法从外部访问它。您的mongo服务器和您试图访问它的机器之间是否有硬件防火墙?从尝试从中远程连接到服务器的计算机上运行nmap,查看端口是否已过滤。另外,mongo运行的完整命令行是什么?您正在使用--bind_ip吗?最后,使用netstat确保mongo正在0.0.0.0:27017上监听。我将mongod.exe作为一个服务运行,如本文所述:如果没有--bind_ip,您认为这可能是它无法工作的原因吗?当我运行netstat时,我在27017端口上什么也得不到。那篇文章有点过时了。看看我写的那封信。大约一年后,我现在面临着这个问题,我的客户希望更改共享主机,因此我需要从其他服务器访问数据库,我用更多信息更新了这个问题。您的问题与防火墙有关。您是否尝试过使用nmap进行端口扫描或从远程计算机远程连接到这些端口?再次感谢Justin的帮助!我无法在端口27017上打开与主机的连接:连接失败…即使我关闭了防火墙?这与在防火墙窗口中添加异常相同吗?它告诉我netsh.exe不是有效的Win32应用程序,运行netsh与通过GUI打开端口相同。也许有什么东西阻塞了27017端口,路由器?或者您的本地计算机阻止了出站连接?它不是本地计算机,因为我们在另一台服务器上进行了尝试,并且它工作正常,看起来托管服务正在阻止它。我打开了一张支持票,但还没有得到任何回复,无论如何,泰克斯需要帮助!