情况
我知道在Ubuntu上将MongoDB实例作为服务运行会更好,但在安装它的那一刻,我对Linux和MongoDB完全陌生,无法将其配置为不在默认位置运行(我的默认位置是-系统磁盘)。所以,我所做的就是sudo mongod --port 34234 --dbpath /path/to/another/disk。为了让它永远运行,我使用tmux终端会话。
问题
问题是-我想启用MongoDB远程访问,因为它显示为here,我需要执行sudo vim /etc/mongod.conf操作,这将引导我进入默认的“服务”MongoDB实例配置。
外部MongoDB实例的配置文件的路径是什么
发布于 2019-12-11 05:32:43
如果您没有将MongoDB作为服务运行,那么(在MongoDB 4.2中)没有默认的配置文件位置。配置文件的位置根据操作系统和用户首选项的不同而有所不同,因此当前仅在安装MongoDB的打包版本时通过服务定义设置配置文件路径。
对于手动调用,您需要使用--config (或较早和较短的-f别名)将配置文件路径作为命令行选项传递:
mongod --config /etc/mongod.conf或
mongod -f /etc/mongod.conf如果您手动启动mongod,我建议您将所有选项(端口、dbpath等)保存在一个配置文件中,这样您的进程就可以使用一致的选项运行。如果您使用的是MongoDB 4.2或更高版本,有一个用于mongod的 --outputConfig command-line option,它可以帮助您将命令行选项转换为YAML config file equivalents。
您也不需要使用sudo运行mongod;该进程可以作为具有适当文件和目录权限的任何用户运行,从而完全访问已配置的dbpath和日志路径。以具有更多受限权限的用户身份运行是更好的安全实践。
发布于 2019-12-11 05:49:18
正如@Stennie所指出的,您可以使用命令行引用配置文件(也许为了可重复性,您应该这样做)。我在你最初的帖子中看到你传递了几个参数
mongod --port 34234 --dbpath /path/to/another/disk假设您使用的是MongoDB 3.6或更高版本,则默认仅绑定到本地主机,这意味着只能私有访问。您可以通过传递选项--bind_ip来传递一个附加参数来指定网络接口卡。使用你想让魔神监听的网卡的IP地址。调用的示例可能如下所示...
mongod --port 34234 --dbpath /path/to/another/disk --bind_ip 192.168.0.18..。假设您的服务器内部IP地址为192.168.0.18。您可以通过绑定到0.0.0.0来向整个世界开放它(这被认为是不安全的)。这对开发系统很有用,但绝不推荐用于生产系统。例如..。
mongod --port 34234 --dbpath /path/to/another/disk --bind_ip 0.0.0.0使用此设置,您可以测试来自另一台计算机的连接。
有关更多详细信息,请参阅https://docs.mongodb.com/manual/reference/configuration-options/#net-options。
https://stackoverflow.com/questions/59274734
复制相似问题