如何使Mongo在我的Azure服务器上自动运行?

时间:2015-03-20 16:16:50

标签: mongodb azure

我有两个Azure虚拟机。在一个我有一个Mongo服务器,另一方面我只有一个我创建的服务,它听取Twitters流API和过滤推文。

除非我手动激活它们并保持控制台窗口打开,否则这两种服务都不起作用。例如,要运行Mongo,我需要ssh到我的虚拟机中并输入:mongod --config /etc/mongod.conf。这会成功启动Mongo服务器,但如果我在任何时候关闭浏览器,服务就会停止。

我认为发生这种情况的原因是因为当我登录系统时,我正在为我分配一个流程,通过该流程我可以在系统中导航并执行命令。当我输入mongod --config /etc/mongod.conf时,我相信我正在使用该过程来运行Mongo。我不知道如何让Mongo在没有这样做的情况下运行。

如何使Mongo在Azure服务器上自动运行?

编辑:

我尝试将Mongo作为守护进程运行,但收到​​错误:

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

>>>about to fork child process, waiting until server is ready for connections.
>>>forked process: 63470
>>>ERROR: child process failed, exited with error number 1

2 个答案:

答案 0 :(得分:3)

此问题与Azure无关;这就是你如何安装MongoDB。

如果您将mongodb作为服务安装,通过apt-get(或您的Linux版本需要的其他任何方式),那么它将独立于您登录而运行。您不应该通过以下方式运行永远在线服务你的命令shell。

以下是instructions,可以在Ubuntu下安装。您将看到,一旦设置了先决条件公钥和列表文件,就可以运行:

sudo apt-get install -y mongodb-org

然后,您可以通过

启动和停止服务
sudo service mongod start

sudo service mongod stop

答案 1 :(得分:0)

您可以通过在控制台中键入以下命令来使mongo在启动时自动启动:

sudo systemctl enable mongod

然后通过以下命令对其进行测试:

sudo service mongod status