在树莓派上设置mongoDB

5
我刚从https://github.com/RickP/mongopi安装了mongopi,通过一些调整,主要是$ sudo chown $USER /data/db,现在已经可以使用了。但是我的mongo和mongod调用不是持久性的。我尝试过PATH=$PATH:/opt/mongo/bin/export PATH,但下次SSH会话时这些设置都会消失。还有,我该如何使mongo在启动时自动初始化?我已经按照github存储库中的所有步骤操作了。
1个回答

4

针对路径部分的问题:

为使路径起作用,您应该将其放在一个脚本中,每次登录时运行。通常,在您的主目录中有一个 shell 的 rc 文件。输入以下命令:

echo $SHELL

查看您正在运行的shell。前往您的主目录:

cd

接着打开名为.(你的shell)rc 的文件 - 如果你使用的是bash,就打开.bashrc

nano .bashrc

在这个文件的末尾添加路径:
PATH=$PATH:/opt/mongo/bin
export PATH

对于问题的初始化部分:

下载并编辑此脚本:Mongo init.d at github

您需要更改第50行的DEAMON值。我遇到了其他一些麻烦,但是如果您创建一个配置文件(可能为空),并从第57行引用它,您应该就可以了。此外,您需要添加一个mongodb用户,服务器应作为该用户运行。您可以在第95行进行编辑,但默认设置可能是一个好主意。

当所有这些编辑都完成后,将文件移动到/etc/init.d/mongodb,如下所示:

sudo mv init.d /etc/init.d/mongodb

然后将其添加到系统的启动例程中。
sudo update-rc.d mongodb defaults

假设您正在运行Debian。其他发行版可能有其他命令来执行此操作。

现在,请确保您没有在其他地方运行mongod,并通过以下方式控制服务:

sudo service mongodb start
service mongodb status
sudo service mongodb stop

...等等。这也将在启动和关闭时自动运行。


谢谢!一切都进行得很顺利,但是当我尝试运行“update-rc.d”时,遇到了这个错误:“insserv:脚本mongodb不是可执行的常规文件,跳过!” - Jareddlc
你添加了mongodb用户吗?尝试使用“sudo adduser mongodb”。 - Bex
我将用户更改为我的树莓派用户,但是出现了[FAIL] Starting database: mongodb failed!的错误,但我找不到日志。 - Jareddlc
如果你在第126行删除$NUMACTL,可能会没问题。否则,在124行前加上echo来输出所有变量,手动运行start-stop-daemon,但是不要使用--background--quiet选项。这样可以让你看到错误输出。 - Bex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接