是否可以使用MongoDB创建远程服务器?怎样

是否可以使用MongoDB创建远程服务器?怎样,mongodb,Mongodb,更清楚地说,我的问题是在云主机上使用mongodb创建一个服务器,并通过另一个服务器访问它 例如: 我有一个移动应用程序。 我用云托管了我的mongoDB和ubuntu。 我想将我的应用程序连接到服务器云上的数据库 可能吗?怎么做 我参加了这次学习,我的问题正是MongoDB如何创建一个可以远程访问的服务器。 离开本地主机?与我看过的所有教程不同。是的,这是可能的。您可以使用主机的ip地址连接到MongoDB,或者最好使用它的完全限定主机名而不是本地主机。如果您这样做,您应该保护您的MongoD

更清楚地说,我的问题是在云主机上使用mongodb创建一个服务器,并通过另一个服务器访问它

例如: 我有一个移动应用程序。 我用云托管了我的mongoDB和ubuntu。 我想将我的应用程序连接到服务器云上的数据库

可能吗?怎么做

我参加了这次学习,我的问题正是MongoDB如何创建一个可以远程访问的服务器。
离开本地主机?与我看过的所有教程不同。

是的,这是可能的。您可以使用主机的ip地址连接到MongoDB,或者最好使用它的完全限定主机名而不是本地主机。如果您这样做,您应该保护您的MongoDB安装,否则任何人都可以连接到您的MongoDB实例。至少要启用MongoDB身份验证。你应该仔细阅读


对于移动应用程序,您可能在MongoDB前面有某种应用程序服务器,例如,您的移动应用程序不会直接连接到MongoDB。在这种情况下,只有您的应用服务器将连接到MongoDB,您将相应地保护MongoDB。

是的,这是可能的。您可以使用主机的ip地址连接到MongoDB,或者最好使用它的完全限定主机名而不是本地主机。如果您这样做,您应该保护您的MongoDB安装,否则任何人都可以连接到您的MongoDB实例。至少要启用MongoDB身份验证。你应该仔细阅读


对于移动应用程序,您可能在MongoDB前面有某种应用程序服务器,例如,您的移动应用程序不会直接连接到MongoDB。在这种情况下,只有您的应用服务器将连接到MongoDB,您将相应地保护MongoDB。

从您所描述的内容来看,我认为您需要实现两层架构。对于几乎所有的用例,不要这样做

这绝对有可能,是的。您可以在防火墙中打开MongoDB端口。假设您的计算机具有固定IP或固定名称,如mymongo.example.com。然后您可以连接到mongodb://mymongo.example.com:27017 如果您使用默认端口。但要注意:

安全性您需要确保客户端只能执行您希望允许的操作,例如使用MongoDB集成身份验证,否则一些随机脚本小子会窃取您的数据库、删除它或用随机数据填充它。许多服务器,即使它们没有托管著名的服务,每天也会受到数千次攻击。此外,您可能希望对连接进行加密,以便人们无法监视连接。更糟糕的是,您必须将数据库凭据存储在客户端应用程序中,这实际上不可能以真正安全的方式实现

软件体系结构有很多反对这种体系结构的论点,但仅1个就足够了。由于数据迁移、软件更新、安全考虑等原因,您永远不希望将客户机与数据库耦合

三层 那么该怎么办呢?使用三层架构:在mymongo.example.com上托管某种服务器,然后连接到数据库。该服务器可以在nginx/node.js、iis/asp.net、apache/php或其他任何版本中实现。它甚至可以像许多游戏服务器一样是一个普通的旧C应用程序


mongodb仍然可以驻留在另一台机器上,但当您使用服务器时,数据库凭据只对服务器知道,而不是对所有客户端都知道。

根据您所描述的,我认为您希望实现两层架构。对于几乎所有的用例,不要这样做

这绝对有可能,是的。您可以在防火墙中打开MongoDB端口。假设您的计算机具有固定IP或固定名称,如mymongo.example.com。然后您可以连接到mongodb://mymongo.example.com:27017 如果您使用默认端口。但要注意:

安全性您需要确保客户端只能执行您希望允许的操作,例如使用MongoDB集成身份验证,否则一些随机脚本小子会窃取您的数据库、删除它或用随机数据填充它。许多服务器,即使它们没有托管著名的服务,每天也会受到数千次攻击。此外,您可能希望对连接进行加密,以便人们无法监视连接。更糟糕的是,您必须将数据库凭据存储在客户端应用程序中,这实际上不可能以真正安全的方式实现

软件体系结构有很多反对这种体系结构的论点,但仅1个就足够了。由于数据迁移、软件更新、安全考虑等原因,您永远不希望将客户机与数据库耦合

三层 那么该怎么办呢?使用三层体系结构:在mymongo.example.com上托管某种服务器,然后 连接到数据库。该服务器可以在nginx/node.js、iis/asp.net、apache/php或其他任何版本中实现。它甚至可以像许多游戏服务器一样是一个普通的旧C应用程序


mongodb仍然可以驻留在另一台计算机上,但当您使用服务器时,数据库凭据仅对服务器而不是所有客户端是已知的。

如果您可以访问承载mongod的计算机,然后,您还可以通过在mongo client中提供主机选项来访问mongod服务器。如果您可以访问承载mongod的计算机,那么您也可以通过在mongo client中提供主机选项来访问mongod服务器。