MongoDB Server Ubuntu 16.04

问题描述:

我在Ubuntu 16.04 VPS上安装了MongoDB,并允许通过防火墙进行连接。当我使用命令(mongod)运行服务器时,它开始时没有问题,然后我可以连接到它(使用RoboMongo作为测试应用程序)。MongoDB Server Ubuntu 16.04

但是,当我在启动时自动运行服务(使用systemctl)时,我无法连接到它。我确认它正在运行,并且由于地址已被使用,所以无法自己运行。

有没有人有任何这方面的经验,或有关如何解决问题的任何提示?服务器只会运行本地主机,我将使用SSH隧道进行测试,因此不需要进行身份验证。

有人吗?

+0

如果您将使用隧道,那么为什么您允许通过防火墙进行连接?这没有意义 – Martin

+0

我没有正确解释,我的道歉。我首先在没有SSH隧道的情况下对它进行了测试,并发现了这个问题。 SSH隧道到位后问题仍然存在。我现在从防火墙中删除了异常。 – Jasper

当你启动mongod的时候,你提供了一个配置文件(使用--config或-f参数)?如果不是,那么它默认侦听所有接口。

使用systemctl启动守护程序时使用的默认配置文件默认只在本地主机上侦听,以防止其在网络上可用。如果您打算使用隧道连接到服务器,这很好。

+0

不,我没有提供配置文件,但我不认为这是必要的,因为如果我自己启动它,它是完美的。根据你的回答判断,我是对的。你有什么想法还有什么可能是错的? – Jasper

+0

mongod在没有任何选项的情况下运行时使用默认配置。使用systemctl启动Mongo通常会导致它在某处读取配置文件(尝试/etc/mongod.conf)。 你如何创建隧道? – Martin

+0

Robomongo为您创建SSH隧道。我使用用户名/密码进行身份验证。但是,我没有得到,是它应该使用相同的配置时,我自己运行它没有任何指定的配置文件,不应该吗? – Jasper