Jika kita akan menggunakan pangkalan data NoSQL untuk aplikasi kita, maka kita memerlukan sesuatu yang cepat dan mudah untuk digunakan.
Kami faham bahawa "NoSQL" tidak semestinya bermaksud "tiada penyelenggaraan". Kami mempertimbangkan untuk menggunakan perkhidmatan pengehosan terurus seperti Atlas MongoDB atau DynamoDB Amazon, tetapi kami memilih untuk mengehoskannya sendiri, sama ada di premis kami atau dalam contoh awan kami sendiri. Kami menilai beberapa pilihan NoSQL, termasuk Redis dan Cassandra, dan memilih MongoDB.
Kami boleh memasangnya dengan memasang daripada pengedaran Linux, menggunakan repositori Mongo atau menggunakan snap. Tetapi jika berlaku masalah, kita mungkin perlu memulakannya semula.
Kami akan melihat cara berbeza untuk memulakan semula pangkalan data MongoDB.
Kami mungkin boleh mencari rujukan kepada perkhidmatan skrip lama. Mereka menyediakan arahan standard yang akan berfungsi tanpa mengira sama ada pemasangan Linux kami menggunakan systemd, pemula atau jenis perkhidmatan permulaan yang lain. Tidak mengapa jika anda menggunakan perkhidmatan itu; ia tidak penting lagi.
Mari mulakan contoh tempatan MongoDB sekali lagi -
$ service mongod restart
Program ini menjadi popular semasa Perang Permulaan Hebat, apabila kumpulan berbeza berhujah mengenai kaedah but dan mengawal bahagian sistem Unix atau Linux yang berbeza.
Red Hat Linux menyediakan skrip terpusat yang dipanggil "system-config-kickstart" yang bertanggungjawab untuk menjalankan skrip ini semasa permulaan dan menghentikannya apabila ia tidak diperlukan lagi.
Canonical cuba menggantikan skrip ini dengan sistem yang dipanggil Upstart.
Skrip perkhidmatan terus berkembang untuk mengendalikan alat mula, henti dan status yang bersaing - skrip perkhidmatan kini turut termasuk systemctl. Red Hat menggunakan SystemD dalam versi 7.0. Canonical mengguna pakai SystemD dalam Ubuntu 20.04
Baru-baru ini, systemd telah menjadi cara lalai kami untuk memulakan perkhidmatan dalam persekitaran Linux. Dan perkhidmatan itu tidak lagi diperlukan.
Kami akan menggunakan alat systemctl untuk mengurus MongoDB dan sebarang kebergantungan.
Apabila kami mula-mula memasang MongoDB, semua lokasi fail binari dan konfigurasinya telah disediakan, tetapi tidak sedang dijalankan.
Untuk melihat sama ada kami boleh menggunakan arahan status untuk menyemak sama ada perkhidmatan kami telah bermula, kami Anda boleh menjalankan arahan berikut -
$ 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
Systemd memberi kami beberapa arahan untuk memulakan, menghentikan dan memulakan semula Hidangkan.
Mari but semula menggunakan arahan berikut -
$ 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.
Kami boleh menyemak status untuk mendapatkan tarikh dan masa kemasukan log terkini berlaku, dan Perhatikan nama hos mereka.
Untuk memulakan semula pelayan MongoDB kami sekali lagi, kami hanya perlu menjalankan -
$ systemctl mongod restart
Walau bagaimanapun, walaupun kita memulakan MongoDB menggunakan systemd, ini tidak semestinya bermakna ia akan sentiasa berjalan apabila sistem kita bermula.
Kami boleh menggunakan perintah "dayakan" systemctl untuk memastikan MongoDB bermula dengan sistem kami.
$ sudo systemctl enable mongod Created symlink /etc/systemd/system/multi-user.target.wants/mongod.service → /lib/systemd/system/mongod.service.
Sekarang kita memahami cara systemd mengurus fail perkhidmatan, mari kita lihat pautan di bawah dll/systemd untuk mendapatkan senarai fail perkhidmatan ini.
Sekarang kami telah menyediakan Dockerfile untuk aplikasi kami, mari jalankan! Kami ingin memastikan bahawa MongoDB bermula apabila bekas bermula. Untuk melakukan ini, kita perlu memberitahu Docker untuk memulakan MongoDB selepas semua kebergantungannya dipenuhi.
Di sini, kami menggunakan alat pengurusan perkhidmatan systemd untuk menyemak status pelayan MongoDB dan kemudian mulakan semula jika perlu.
Terdapat cara lain untuk melakukan ini, tetapi kita tidak perlu mengetahui tentangnya melainkan kita menggunakan sistem yang lebih lama.
Akhir sekali, jika kita mahu pelayan MongoDB dimulakan secara automatik apabila memulakan semula komputer, ingat untuk "mendayakannya".
Atas ialah kandungan terperinci Bagaimana untuk memulakan semula perkhidmatan pangkalan data NoSQL seperti MongoDB?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!