如果我們要為我們的應(yīng)用程序使用 NoSQL 數(shù)據(jù)庫(kù),那么我們需要快速且易于使用的東西.
我們了解到“NoSQL”并不一定意味著“無(wú)需維護(hù)”。我們考慮使用 MongoDB 的 Atlas 或 Amazon 的 DynamoDB 等托管托管服務(wù),但我們選擇自己托管,無(wú)論是在我們的本地還是在我們自己的云實(shí)例中。我們?cè)u(píng)估了幾個(gè) NoSQL 選項(xiàng),包括 Redis 和 Cassandra,并選擇了 MongoDB。
我們可以通過(guò)從 Linux 發(fā)行版安裝、使用 Mongo 的存儲(chǔ)庫(kù)或使用 snap 來(lái)安裝它。但如果出現(xiàn)問(wèn)題,我們可能需要重新啟動(dòng)它。
我們將了解重新啟動(dòng) MongoDB 數(shù)據(jù)庫(kù)的不同方法。
服務(wù)
我們也許能夠找到對(duì)舊腳本服務(wù)的引用。它們提供了一個(gè)標(biāo)準(zhǔn)命令,無(wú)論我們的 Linux 安裝是使用 systemd、upstart 還是其他類型的啟動(dòng)服務(wù),該命令都可以工作。 您是否使用服務(wù)并不重要;只是不再需要了。
讓我們?cè)俅螁?dòng) MongoDB 的本地實(shí)例 –
$ service mongod restart
登錄后復(fù)制
在偉大的初始化戰(zhàn)爭(zhēng)期間,當(dāng)不同的團(tuán)體爭(zhēng)論啟動(dòng)和控制 Unix 或 Linux 系統(tǒng)部分的不同方法時(shí),這個(gè)程序變得流行。
Red Hat Linux 提供了一個(gè)名為“system-config-kickstart”的集中式腳本,該腳本負(fù)責(zé)在啟動(dòng)時(shí)運(yùn)行這些腳本并在不再需要時(shí)停止它們。
Canonical 嘗試用名為 Upstart 的系統(tǒng)替換這些腳本。
服務(wù)腳本不斷發(fā)展以處理相互競(jìng)爭(zhēng)的啟動(dòng)、停止和狀態(tài)工具 – 現(xiàn)在,服務(wù)腳本還包含 systemctl。 Red Hat 在 7.0 版本中采用了 SystemD。 Canonical 在 Ubuntu 20.04 中采用了 SystemD
最近,systemd已經(jīng)成為我們?cè)贚inux環(huán)境下啟動(dòng)服務(wù)的默認(rèn)方式。并且不再需要服務(wù)。
使用systemctl
我們將使用 systemctl 工具來(lái)管理 MongoDB 和任何依賴項(xiàng)。
當(dāng)我們最初安裝 MongoDB 時(shí),它的所有二進(jìn)制文件和配置文件位置都已設(shè)置,但當(dāng)前尚未運(yùn)行。
為了看看我們是否可以使用 status 命令來(lái)檢查我們的服務(wù)是否已經(jīng)啟動(dòng),我們
可以運(yùn)行以下命令 –
$ systemctl status mongod mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: https://docs.mongodb.org/manual
登錄后復(fù)制
Systemd為我們提供了幾個(gè)用于啟動(dòng)、停止和重新啟動(dòng)的命令
服務(wù)。
讓我們使用以下命令重新啟動(dòng) –
命令
$ sudo service mongod restart $ sudo service mongod status
登錄后復(fù)制
輸出
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.
登錄后復(fù)制
我們可以檢查狀態(tài)以獲取最近的日志條目的發(fā)生日期和時(shí)間,以及
記錄它們的主機(jī)名。
要再次重新啟動(dòng)我們的 MongoDB 服務(wù)器,我們只需要運(yùn)行 –
$ systemctl mongod restart
登錄后復(fù)制
將 MongoDB 設(shè)置為在系統(tǒng)啟動(dòng)時(shí)通過(guò) enable 啟動(dòng)
但是,即使我們使用 systemd 啟動(dòng)了 MongoDB,這并不一定意味著它會(huì)在我們的系統(tǒng)啟動(dòng)時(shí)始終運(yùn)行。
我們可以使用systemctl“enable”命令來(lái)確保MongoDB隨我們的系統(tǒng)一起啟動(dòng)。
$ sudo systemctl enable mongod Created symlink /etc/systemd/system/multi-user.target.wants/mongod.service → /lib/systemd/system/mongod.service.
登錄后復(fù)制
現(xiàn)在我們已經(jīng)了解了 systemd 如何管理服務(wù)文件,讓我們快速瀏覽一下 etc/systemd 下的鏈接以獲取這些服務(wù)文件的列表。
現(xiàn)在我們已經(jīng)為應(yīng)用程序設(shè)置了 Dockerfile,讓我們運(yùn)行它吧!我們希望確保 MongoDB 在容器啟動(dòng)時(shí)啟動(dòng)。為此,我們需要告訴 Docker 在滿足其所有依賴項(xiàng)后啟動(dòng) MongoDB。
結(jié)論
在這里,我們使用 systemd 服務(wù)管理工具來(lái)檢查 MongoDB 服務(wù)器的狀態(tài),然后在必要時(shí)重新啟動(dòng)它。
還有其他方法可以做到這一點(diǎn),但我們不需要了解它們,除非我們正在使用較舊的系統(tǒng)。
最后,如果我們希望 MongoDB 服務(wù)器在重新啟動(dòng)計(jì)算機(jī)時(shí)自動(dòng)啟動(dòng),請(qǐng)記得“啟用”它。
以上就是如何重啟像 MongoDB 這樣的 NoSQL 數(shù)據(jù)庫(kù)服務(wù)?的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注www.92cms.cn其它相關(guān)文章!






