我对 Ubuntu 和 Linux 还很陌生;我以前一直使用 Windows 平台。
当我想将我的应用程序连接到 Windows 中的 mongodb 数据库时,我必须通过运行在单独的 CMD 中启动 mongo 数据库mongod
。但在 Linux 中情况并非如此,我所要做的就是启动应用程序,不需要mongod
命令。我真的很想知道发生了什么。你能帮助我理解使用 Mongodb 时 Ubuntu 和 Windows 之间的区别吗?
答案1
如果您想连接到本地服务器,所有平台都需要运行 MongoDB 服务器进程。服务器二进制文件位于mongod
Linux/macOS 或mongod.exe
Windows 上。
安装体验的主要区别(与 MongoDB 3.4 一样)在于,MongoDB 的 Ubuntu 软件包将在安装后自动创建服务定义并启动。Ubuntu 软件包还会创建服务使用的mongod
数据目录 ( ) 和配置文件( )。这样,服务就可以/var/lib/mongodb
mongod
/etc/mongod.conf
mongod
停止,开始, 和重新启动使用标准 Ubuntu 服务管理命令。
在 Windows 上你可以配置 Windows 服务定义将 MongoDB 服务器作为后台服务启动,但目前标准 Windows 安装程序无法完成此操作。大多数教程假设 Windows 用户没有服务定义,并建议mongod.exe
在 CMD 窗口中手动启动。
Linux 和 Windows 版本的 MongoDB 服务器之间的另一个区别是,Linuxmongod
二进制文件包含一个选项,可以--fork
在后台运行服务器进程。Windows API 不支持相同的概念分叉进程,因此如果您要手动启动服务器,则需要打开一个 CMD 窗口,mongod.exe
并打开第二个 CMD 窗口以通过mongo
shell 或命令行客户端进行交互。
对于生产 MongoDB 部署,最典型的方法是使用服务管理器(无论平台如何)管理 MongoDB 服务器。使用服务管理器可确保您使用一致的配置选项和权限启动 MongoDB 服务器。