Artikel ini memperincikan konfigurasi MongoDB, yang memberi tumpuan kepada fail mongod.conf. Ia meliputi Tetapan Rangkaian (Bindip, Port), Penyimpanan (DBPath, WiredTiger), dan pembalakan. Artikel ini juga menangani pengoptimuman prestasi melalui perkakasan, tetapan berwayar
Mengkonfigurasi tetapan MongoDB asas melibatkan pemahaman dan mengubah fail mongod.conf
. Fail ini, yang terletak di folder bin
Direktori Pemasangan MongoDB (biasanya /etc/mongod.conf
pada sistem Linux), mengawal pelbagai aspek pelayan pangkalan data. Mari meneroka tetapan utama:
1. net
: Bahagian ini mengawal sambungan rangkaian. Secara kritis, tetapan bindIp
menentukan antara muka MongoDB mendengar. bindIp: 127.0.0.1
Had Akses ke Localhost; Menukarnya ke bindIp: 0.0.0.0
membolehkan sambungan dari semua antara muka ( pertimbangan keselamatan penting - mengehadkan akses dengan sewajarnya ). Tetapan port
mentakrifkan penggunaan Port MongoDB (lalai ialah 27017). Anda juga boleh mengkonfigurasi mekanisme pengesahan di sini, seperti membolehkan TLS/SSL untuk sambungan selamat. Contoh:
<code>net: bindIp: 127.0.0.1 port: 27017</code>
2. storage
: Bahagian ini mengawal bagaimana MongoDB menyimpan data pada cakera. dbPath
Menentukan direktori di mana fail data disimpan. wiredTiger
(enjin penyimpanan lalai) mempunyai banyak pilihan yang boleh dikonfigurasikan dalam bahagian ini, yang membolehkan penalaan saiz cache, mampatan, dan aspek yang berkaitan dengan prestasi. Sebagai contoh, menyesuaikan parameter engineConfig
seperti cacheSizeGB
boleh memberi kesan kepada prestasi yang signifikan. Sentiasa pastikan ruang cakera yang mencukupi. Contoh:
<code>storage: dbPath: /data/db wiredTiger: engineConfig: cacheSizeGB: 16</code>
3. systemLog
: Bahagian ini menentukan tingkah laku pembalakan. Parameter destination
menentukan di mana log ditulis (contohnya, ke fail atau syslog). Tetapan logAppend
menentukan sama ada log dilampirkan ke fail sedia ada atau menimpanya. Melaraskan logPath
dan logComponent
boleh membantu dengan debugging dan pemantauan. Contoh:
<code>systemLog: destination: file logAppend: true logPath: /var/log/mongodb/mongod.log</code>
Selepas mengubah suai mongod.conf
, mulakan semula perkhidmatan MongoDB untuk perubahan yang berlaku. Ingatlah untuk menyandarkan fail konfigurasi anda sebelum membuat sebarang perubahan penting.
Untuk penempatan MongoDB baru, memberi tumpuan kepada keselamatan dan prestasi adalah yang paling utama. Berikut adalah pilihan konfigurasi penting:
bindIp
untuk mengehadkan akses rangkaian hanya kepada tuan rumah atau rangkaian yang dipercayai. Menggunakan firewall untuk menyekat akses lagi sangat disyorkan.Mengoptimumkan prestasi MongoDB memerlukan pendekatan pelbagai:
wiredTiger
: Tetapan wiredTiger
Fine-Tune dalam fail mongod.conf
. Menyesuaikan cacheSizeGB
(memori yang diperuntukkan untuk caching), engineConfig.eviction
(strategi pengusiran cache), dan tetapan mampatan dapat memberi kesan yang signifikan. Eksperimen dan pemantauan adalah kunci.$where
klausa (kecuali benar -benar diperlukan) dan mengoptimumkan struktur pertanyaan untuk prestasi yang lebih baik. Gunakan alat profil MongoDB untuk mengenal pasti pertanyaan yang perlahan.Ya, anda boleh mengkonfigurasi tetapan MongoDB dari jauh, terutamanya melalui kaedah ini:
mongod.conf
. Ini memerlukan akses SSH ke pelayan. Ingatlah untuk memulakan semula perkhidmatan MongoDB selepas membuat perubahan.mongosh
dengan keizinan yang sesuai: Jika anda mempunyai pengguna dengan keizinan yang diperlukan, anda boleh menggunakan shell mongosh
untuk melaksanakan perintah yang secara tidak langsung mempengaruhi konfigurasi (misalnya, mengubah saiz oplog, yang secara tidak langsung mempengaruhi prestasi replikasi). Walau bagaimanapun, ini kurang biasa untuk perubahan konfigurasi langsung ke mongod.conf
.Ingatlah bahawa keselamatan adalah yang paling penting ketika menguruskan MongoDB dari jauh. Gunakan sambungan selamat (SSH dengan pengesahan berasaskan kunci) dan menyekat akses kepada pengguna yang diberi kuasa sahaja. Sentiasa sandarkan konfigurasi anda sebelum membuat perubahan.
Atas ialah kandungan terperinci Bagaimana saya mengkonfigurasi tetapan MongoDB asas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!