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

标签 mongodb azure

我有两个 Azure 虚拟机。在一个服务器上我有一个 Mongo 服务器,在另一个服务器上我只有一个我创建的服务,它监听 Twitter 流 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

最佳答案

此问题与 Azure 无关;这完全取决于您如何安装 MongoDB。

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

这里是instructions用于在 Ubuntu 下安装。您将看到,一旦设置了必备的公钥和列表文件,您就可以运行:

sudo apt-get install -y mongodb-org

然后您可以通过以下方式启动和停止服务

sudo service mongod start

sudo service mongod stop

关于mongodb - 如何使 Mongo 始终在我的 Azure 服务器上自动运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29171196/

相关文章:

mongodb - MongoDB中聚合($match)和查找之间的区别?

mongodb - Mongodb 更新集合中每个数组项的数组属性

cordova - Azure 移动应用程序中的应用程序身份验证。如何?

python - 在azure ml studio环境中安装本地python库

azure - 如何从 One VS 解决方案发布两个单独的 Azure 网站

c# - MongoDB如何检查是否存在

mongodb - Mongodb find() 查询嵌套文档

python - 使用 Docker 测试 Mongo

azure - 链接到 Azure 静态 Web 应用程序的 Azure Function 应用程序的身份验证

由于未转义的反斜杠,Azure DevOps Pipeline 自托管代理 (Windows) 无法启动 Docker