在 linux/OS X 上启动 monGod 服务的正确方法是什么?

我已经安装了 mongodb,能够运行它,使用它,做简单的 DB 读/写类型的东西。现在我正在设置我的 Mac 来运行 MonGod 作为一个服务。

我得到“命令未找到”的回应是:

 init mongod start

回应:

~: service mongod start
service: This command still works, but it is deprecated. Please use launchctl(8) instead.
service: failed to start the 'mongod' service

如果我尝试:

~: launchctl start mongod
launchctl start error: No such process

所以很明显我有点笨手笨脚的。下一步似乎是随机输入字符,直到有效果。是的工作的命令是: mongod --quiet &我不确定,也许这就是你应该做的方式?也许我应该关闭“安静模式”,将 > /logs/mongo.log添加到命令行的末尾?

我正在 Mac 上构建一个开发环境,目的是在 linux 服务器上做同样的事情。我只是不确定 Bash 的命令是什么。我所做的所有其他搜索与试图拉出的答案给我的建议,窗口机器。

也许有人知道 Linux 版本的命令?

非常感谢

143237 次浏览

我在 Mac 方面做了一些调查。您可能希望使用安装程序 给你,因为它看起来像是为您做了所有的安装工作,以便在 Mac OS 上自动启动。唯一的缺点是它看起来像是使用了一个相当老的芒果版本。

这个链接 给你还解释了如何设置 mongo 作为 Mac 上的后台服务自动启动。

通过最近构建的 mongodb 社区版,这是非常简单的。

当您通过 brew 安装时,它会告诉您具体要做什么。不需要创建新的启动控制文件。

$ brew install mongodb
==> Downloading https://homebrew.bintray.com/bottles/mongodb-3.0.6.yosemite.bottle.tar.gz ### 100.0%
==> Pouring mongodb-3.0.6.yosemite.bottle.tar.gz
==> Caveats
To have launchd start mongodb at login:
ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
Then to load mongodb now:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
Or, if you don't want/need launchctl, you can just run:
mongod --config /usr/local/etc/mongod.conf
==> Summary
🍺  /usr/local/Cellar/mongodb/3.0.6: 17 files, 159M

编辑: 你现在应该使用 abc 0,就像 Gergo 的答案一样... ..。

安装/升级 mongodb 时,brew 会告诉你该怎么做:

要让 launchd 在登录时启动 mongodb:

    ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents

现在加载 mongodb:

    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist

或者,如果你不想/不需要 launchctl,你可以直接运行:

    mongod

效果很好。

如果您想使用一个简单的 gui 来解决这个问题(正如我所做的) ,那么我可以推荐 mongodb 预置窗格。描述: https://www.mongodb.com/blog/post/macosx-preferences-pane-for-mongodb

在 github: https://github.com/remysaissy/mongodb-macosx-prefspane

家酿的 services水龙头集成了公式与 launchctl管理器。添加它很容易:

brew tap homebrew/services

然后您可以使用这个命令启动 MongoDB (这也会在启动时启动 MongoDB) :

brew services start mongodb

你也可以使用 stoprestart:

brew services stop mongodb
brew services restart mongodb
mongod --dbpath [path_to_data_directory]

刚刚通过 Homebrew 安装了 MongoDB。在安装控制台的末尾,您可以看到如下输出:

开始:

brew services start mongodb

或者,如果你不想/不需要后台服务,你可以直接运行:

mongod --config /usr/local/etc/mongod.conf

因此,酿酒服务公司开始了设法为我运行 MongoDB 作为一种服务。

第一步

在你的 linux 机器上安装 mongodb

Apt install mongodb-client & & apt install mongodb-server

第二步是

如果需要,可以更改数据库路径而不是系统默认路径。
所以,按照下面的步骤来做,并为自己改变它。

mongod --directoryperdb --dbpath /var/lib/mongodb/data/db --logpath /var/lib/mongodb/log/mongodb.log --logappend --rest

然后在你的 windows 机器上像这样做,只需要放一个—— install 标志。 你必须得到一个成功的信息。

最好的问候..。

在 macOS 10.13.6和 MongoDB 4.0上

我无法从 mongo shell 连接到本地主机

我创建 MongoDB 的原因是:

MonGod —— config/usr/local/etc/mongo.conf

我发现“ mongod.conf”有:

127.0.0.1

将我的 JavaScript 连接从 本地主机更改为 127.0.0.1,它工作得很好。

MongoDB Compass 也发生了同样的情况。

mongod无法为我启动守护进程,但在我运行以下命令后,它开始工作:

'mongod --fork --logpath /var/log/mongodb.log'

(从这里: https://docs.mongodb.com/manual/tutorial/manage-mongodb-processes/)

在通过 brew 安装 mongodb 之后,运行以下命令启动并运行它:

mongod --dbpath /usr/local/var/mongodb