如果我们要为我们的应用程序使用 nosql 数据库,那么我们需要快速且易于使用的东西.
我们了解到“nosql”并不一定意味着“无需维护”。我们考虑使用 mongodb 的 atlas 或 amazon 的 dynamodb 等托管托管服务,但我们选择自己托管,无论是在我们的本地还是在我们自己的云实例中。我们评估了几个 nosql 选项,包括 redis 和 cassandra,并选择了 mongodb。
我们可以通过从 linux 发行版安装、使用 mongo 的存储库或使用 snap 来安装它。但如果出现问题,我们可能需要重新启动它。
我们将了解重新启动 mongodb 数据库的不同方法。
服务我们也许能够找到对旧脚本服务的引用。它们提供了一个标准命令,无论我们的 linux 安装是使用 systemd、upstart 还是其他类型的启动服务,该命令都可以工作。 您是否使用服务并不重要;只是不再需要了。
让我们再次启动 mongodb 的本地实例 -
$ service mongod restart
在伟大的初始化战争期间,当不同的团体争论启动和控制 unix 或 linux 系统部分的不同方法时,这个程序变得流行。
red hat linux 提供了一个名为“system-config-kickstart”的集中式脚本,该脚本负责在启动时运行这些脚本并在不再需要时停止它们。
canonical 尝试用名为 upstart 的系统替换这些脚本。
服务脚本不断发展以处理相互竞争的启动、停止和状态工具 - 现在,服务脚本还包含 systemctl。 red hat 在 7.0 版本中采用了 systemd。 canonical 在 ubuntu 20.04 中采用了 systemd
最近,systemd已经成为我们在linux环境下启动服务的默认方式。并且不再需要服务。
使用systemctl我们将使用 systemctl 工具来管理 mongodb 和任何依赖项。
当我们最初安装 mongodb 时,它的所有二进制文件和配置文件位置都已设置,但当前尚未运行。
为了看看我们是否可以使用 status 命令来检查我们的服务是否已经启动,我们可以运行以下命令 -
$ systemctl status mongodmongod.service - mongodb database server loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendorpreset: enabled) active: inactive (dead) docs: https://docs.mongodb.org/manual
systemd为我们提供了几个用于启动、停止和重新启动的命令服务。
让我们使用以下命令重新启动 -
命令$ sudo service mongod restart$ sudo service mongod status
输出mongod.service - mongodb database server loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled) active: active (running) since tue 2022-10-11 07:45:50 hst; 7s ago docs: https://docs.mongodb.org/manual main pid: 124287 (mongod) memory: 135.4m cgroup: /system.slice/mongod.service └─154987 /usr/bin/mongod --config /etc/mongod.conf oct 11 07:45:50 shoes systemd[1]: started mongodb database server.
我们可以检查状态以获取最近的日志条目的发生日期和时间,以及记录它们的主机名。
要再次重新启动我们的 mongodb 服务器,我们只需要运行 -
$ systemctl mongod restart
将 mongodb 设置为在系统启动时通过 enable 启动但是,即使我们使用 systemd 启动了 mongodb,这并不一定意味着它会在我们的系统启动时始终运行。
我们可以使用systemctl“enable”命令来确保mongodb随我们的系统一起启动。
$ sudo systemctl enable mongodcreated symlink /etc/systemd/system/multi-user.target.wants/mongod.service → /lib/systemd/system/mongod.service.
现在我们已经了解了 systemd 如何管理服务文件,让我们快速浏览一下 etc/systemd 下的链接以获取这些服务文件的列表。
现在我们已经为应用程序设置了 dockerfile,让我们运行它吧!我们希望确保 mongodb 在容器启动时启动。为此,我们需要告诉 docker 在满足其所有依赖项后启动 mongodb。
结论在这里,我们使用 systemd 服务管理工具来检查 mongodb 服务器的状态,然后在必要时重新启动它。
还有其他方法可以做到这一点,但我们不需要了解它们,除非我们正在使用较旧的系统。
最后,如果我们希望 mongodb 服务器在重新启动计算机时自动启动,请记得“启用”它。
以上就是如何重启像 mongodb 这样的 nosql 数据库服务?的详细内容。