首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当不作为Ubuntu服务运行时,mongodb配置文件位于何处?

当不作为Ubuntu服务运行时,mongodb配置文件位于何处?
EN

Stack Overflow用户
提问于 2019-12-11 04:17:37
回答 2查看 6.5K关注 0票数 0

情况

我知道在Ubuntu上将MongoDB实例作为服务运行会更好,但在安装它的那一刻,我对Linux和MongoDB完全陌生,无法将其配置为不在默认位置运行(我的默认位置是-系统磁盘)。所以,我所做的就是sudo mongod --port 34234 --dbpath /path/to/another/disk。为了让它永远运行,我使用tmux终端会话。

问题

问题是-我想启用MongoDB远程访问,因为它显示为here,我需要执行sudo vim /etc/mongod.conf操作,这将引导我进入默认的“服务”MongoDB实例配置。

外部MongoDB实例的配置文件的路径是什么

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-12-11 05:32:43

如果您没有将MongoDB作为服务运行,那么(在MongoDB 4.2中)没有默认的配置文件位置。配置文件的位置根据操作系统和用户首选项的不同而有所不同,因此当前仅在安装MongoDB的打包版本时通过服务定义设置配置文件路径。

对于手动调用,您需要使用--config (或较早和较短的-f别名)将配置文件路径作为命令行选项传递:

代码语言:javascript
复制
mongod --config /etc/mongod.conf

代码语言:javascript
复制
mongod -f /etc/mongod.conf

如果您手动启动mongod,我建议您将所有选项(端口、dbpath等)保存在一个配置文件中,这样您的进程就可以使用一致的选项运行。如果您使用的是MongoDB 4.2或更高版本,有一个用于mongod --outputConfig command-line option,它可以帮助您将命令行选项转换为YAML config file equivalents

您也不需要使用sudo运行mongod;该进程可以作为具有适当文件和目录权限的任何用户运行,从而完全访问已配置的dbpath和日志路径。以具有更多受限权限的用户身份运行是更好的安全实践。

票数 4
EN

Stack Overflow用户

发布于 2019-12-11 05:49:18

正如@Stennie所指出的,您可以使用命令行引用配置文件(也许为了可重复性,您应该这样做)。我在你最初的帖子中看到你传递了几个参数

代码语言:javascript
复制
mongod --port 34234 --dbpath /path/to/another/disk

假设您使用的是MongoDB 3.6或更高版本,则默认仅绑定到本地主机,这意味着只能私有访问。您可以通过传递选项--bind_ip来传递一个附加参数来指定网络接口卡。使用你想让魔神监听的网卡的IP地址。调用的示例可能如下所示...

代码语言:javascript
复制
mongod --port 34234 --dbpath /path/to/another/disk --bind_ip 192.168.0.18

..。假设您的服务器内部IP地址为192.168.0.18。您可以通过绑定到0.0.0.0来向整个世界开放它(这被认为是不安全的)。这对开发系统很有用,但绝不推荐用于生产系统。例如..。

代码语言:javascript
复制
mongod --port 34234 --dbpath /path/to/another/disk --bind_ip 0.0.0.0

使用此设置,您可以测试来自另一台计算机的连接。

有关更多详细信息,请参阅https://docs.mongodb.com/manual/reference/configuration-options/#net-options

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59274734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档