Harika bir araç olan MongoDB'yi kullanmaya karar verdiniz alternative to MariaDB Bir MERN yığın uygulaması, bir analiz platformu veya herhangi bir belge tabanlı sistem oluşturmak için, ancak eski güzel Linux komut satırları ve sayısız terminal hatasıyla karşı karşıya kaldık.
Endişelenmeyin, çünkü bu kılavuz MongoDB'yi Ubuntu'ya kurmak için A'dan Z'ye bilmeniz gereken her şeyi sağlar.
MongoDB'nin kullanım alanları X.Y.Z versiyonlama. 8.0 bir ana yayın serisi ve 8.2 bir küçük bu 8.0 döngüsü içinde serbest bırakılır. Küçük sürümler aynı ana döngü içinde özellikler ekler ve 8.0'dan başlayarak belirli kullanım durumları için (örneğin, Arama ve Vektör Arama) şirket içi kurulumlar için de sunulur. Ubuntu'daki MongoDB 8.0 desteği 24,04 (Asil), 22,04 (Jammy) ve 20,04 (Odak) 64 bit sistemlerde, belirli platformlarda ARM64 desteğiyle.
GnuPG ve Curl Önkoşulları
Resmi kurulumu yapmadan önce mongodb-org Ubuntu iki önkoşulu gerektirir: GnuPG Ve Kıvırmak. Bu araçlar Ubuntu'ya MongoDB'yi indirme izni verir çünkü Ubuntu'nun kendi aracıdır. mongodb paket MongoDB Inc. tarafından sağlanmıyor ve resmi paketle çakışıyor mongodb-org paket. Zaten yüklediyseniz mongodb kaldırdığınızdan emin olun.
Daha sonra komutu çalıştırın sudo apt-get gnupg curl'u yükle. Curl, internetten dosya indirmek için kullanılan bir araçtır ve MongoDB'nin güvenlik anahtarını almak için gereklidir. GnuPG, Ubuntu'nun yazılımın orijinalliğini doğrulamak için kullandığı şeydir. GnuPG eksikse Ubuntu, MongoDB paketlerini doğrulayamaz.
Terminalinizin GnuPG ve Curl'ü başarıyla yüklediğinden emin olun. Eğer öyleyse, şöyle görünmelidir:
MongoDB GPG Anahtarını İçe Aktarma
Ubuntu'nun paket yöneticisi APT, kurulumdan önce paketleri doğrulamak için GPG anahtarlarını kullanır. Bu GPG anahtarı olmadan Ubuntu, MongoDB depolarının eklenmesine izin vermez. Anahtarı eklemek için terminalinize aşağıdaki komutu yazın:
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
--dearmor
Çalışıyorsa terminal çıktınız şöyle görünmelidir:
Basitçe açıklamak gerekirse, bu komut MongoDB'nin güvenlik imzasını indirir, onu Ubuntu'nun okuyabileceği bir formata dönüştürür ve güvenli bir sistem klasörüne kaydeder. Komut satırının bölüm bölüm dökümü aşağıda verilmiştir:
- curl -fsSL URL'si MongoDB'nin resmi anahtarını indirir
- – sevgilimor Ubuntu'nun anlaması için anahtarı metin formatından ikili formata dönüştürür
- -o /usr/share/keyrings/mongodb-server-8.0.gpg ikili dosyayı Ubuntu'nun güvenilir anahtarları sakladığı bir klasöre kaydeder
Her komut satırını mükemmel bir şekilde eşleştirirseniz, genel GPG anahtarı sorunsuz bir şekilde eklenecektir. Ancak bazı kullanıcılar MongoDB'yi indirirken eşleşmeyen GPG anahtarı nedeniyle sorunlarla karşılaşıyor. Şunun gibi hatalar:
NO_PUBKEY
The following signatures couldn't be verified
public key not available
GPG tuş komutlarını daha önce tam olarak takip etmediğinizde ve bunun yerine şunu kullandığınızda meydana gelir: sudo apt-anahtarı çünkü modern Ubuntu bunu önermiyor.
MongoDB Deposu Ekle
MongoDB Deposunun eklenmesi, Ubuntu'ya MongoDB paketlerinin belirli bir internet adresinde yayında olduğunu bildiren bir dosya oluşturur. Liste dosyasını şu adreste oluşturun: /etc/apt/sources.list.d/mongodb-org-8.0.list kullanarak depo satırını yazarak yankı … | sudo tişörtü…
Ubuntu'nun farklı sürümleri bu komutun farklı bir varyasyonunu gerektirdiğinden işin zorlaştığı yer burasıdır. Şimdi daha önce bahsettiğimiz Ubuntu'nun üç sürümünde liste dosyasının nasıl içe aktarılacağını inceleyeceğiz.
Ubuntu 24.04 (Asil)
Ubuntu 24.04'te liste dosyasını oluşturmak için basitçe şunu koyun: echo “deb [ arch=amd64,arm64sign-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 çoklu evren” | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list terminalinizde.
Bu kafa karıştırıcı görünebilir, ancak endişelenmeyin. Komutu bölümlere ayırdığımızda her şey çok net olacak.
- yankı metni yazdırır
- /etc/apt/sources.list.d Ubuntu'nun yazılım kaynağı tanımlarını sakladığı klasördür. Her dosya .liste klasörün içindeki format, Ubuntu'yu yazılımın indirileceği belirli bir konuma işaret eder
- Normal bir kullanıcı olarak varsayılan olarak sistem klasörlerine hiçbir şey yazamazsınız. tişört kullanıcıya sistem dosyalarına metin yazması için özel izin verir. sudo
- soylu Ubuntu 24.04'ün kod adıdır. Her Ubuntu sürümünün şöyle bir kod adı vardır:
| Sürüm | Kod adı |
| 20.04 | Odak |
| 22.04 | Jammy |
| 24.04 | Soylu |
Ubuntu sürümünüzü doğru Komut satırıyla eşleştirmezseniz Ubuntu, MongoDB'nin deposunu tanıyamaz.
Ubuntu 22.04 (Jammy)
Liste dosyasını Ubuntu Jammy'ye eklemek tamamen aynı görünüyor, ancak değiştirirken komut satırına girmelisiniz soylu ile reçel, bunun gibi:
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
Bunun Ubuntu sürümünüzle eşleşen sürüm olduğundan emin olun, aksi takdirde tekrar başarısız olur.
Ubuntu 20.04 (Odak)
Buradaki aynı adımları izleyin, ancak bunun yerine soylu or reçel, koy odak:
echo “deb [ arch=amd64,arm64 Signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu focus/mongodb-org/8.0 çoklu evren” | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
Artık depo kurulumuyla kuruluma devam edebilirsiniz. mongodb-org.
Paket Veritabanını Yenile
Artık depo Ubuntu tarafından tanındığına göre, içindeki paket veritabanını yeniden yüklemeniz gerekiyor, böylece artık MongoDB'yi de içerecek. Aşağıda belirtilen komutu verin:
sudo apt-get update
Bu komut her Ubuntu sürümünde aynı kalır ve atlanırsa Ubuntu, MongoDB'yi içermez. Komut işini yaparsa terminal çıktınız şöyle olmalıdır:
Şimdi paket veritabanınızı yeniden yükledikten sonra MongoDB paketlerini indirme zamanı geldi.
MongoDB Topluluk Sunucusunu Kurun
Yüklenecek çeşitli MongoDB sürümleri vardır, ancak kullanıcılar daha çok tercih edildiği için en son kararlı sürümü tercih etme eğilimindedir. En son kararlı sürümü yüklemek için çalıştırın sudo apt-get kurulumu -y mongodb-org
Ubuntu artık MongoDB paketlerini indirdi, kurdu, bir MongoDB kullanıcı hesabı ve veri dizini oluşturdu ve MongoDB'yi bir sistem hizmeti olarak kaydettirdi. Şimdiye kadar MongoDB'nin Ubuntu'ya nasıl indirileceğini ele aldık. Şimdi başlayalım.
MongoDB Nasıl Başlatılır
Şimdi MongoDB’yi çalıştırabilmek için Ubuntu’nun servis yöneticisi “systemd”e MongoDB’yi arka plan servisi olarak tanımasını söylememiz gerekiyor ve bunun için terminalimize aşağıdaki komutu yazmamız gerekiyor:
sudo systemctl start mongod
Komut işini yaparsa, Ubuntu artık MongoDB'yi arka plan uygulaması olarak açacaktır. Ancak komut işini yapmazsa aşağıdakine benzer bir hata alabilirsiniz: mongod.service başlatılamadı.
Bunun nedeni birkaç yaygın sorun olabilir:
- Yapılandırma dosyası hatası in /etc/mongod.conf (YAML girinti hataları yaygındır)
- Bağlantı noktası çakışması (bağlantı noktası 27017 zaten dolu)
- İzin sorunu veri veya günlük dizinlerinde (var/lib/mongodb veya var/log/mongodb)
- Disk dolu or bozuk dosya sistemi durumu
Sorunu Teşhis Etmek İçin Üç Komut
MongoDB'nin çalışmadığı yapılandırmanızda neyin yanlış olabileceğini söylemek kolaydır, ancak kesin nedeni belirlemek çok daha zordur. Hatanın nereden gelebileceğini teşhis etmenin üç kolay yolu şunlardır:
- Hizmet durumunu kontrol edin: sudo systemctl durumu mongod – çağrı cihazı yok
- Ayrıntılı günlükleri kontrol edin (en önemlisi): sudo dailyctl -u mongod – çağrı cihazı yok -n 100
- MongoDB'nin kendi günlük dosyasını kontrol edin
Ancak diskiniz doluysa veya sistem dosyalarınız bozuksa, düzeltmenin yazılımdan ziyade donanımınız ile ilgili olacağını lütfen unutmayın. Mevcut kurulumları güncel değilse, kullanıcıların MongoDB'yi verimli bir şekilde çalıştırabilmesi için sunucu kurulumları için daha iyi ekipman satın almaları gerekebilir.
Tam donanımlı bir sunucu satın almak bütçenize uygun değilse Cloudzy's'e göz atmayı düşünün. Ubuntu VPS'si Beğendiğiniz bir Ubuntu dağıtımıyla kendi özel sunucunuzda temiz bir deneyim için. Birlikte gelir 24/7 destek ve kadar 40Gbps ağ hızı sayesinde NVMe SSD'si Ve DDR5 RAM depolamak.
Üstelik minimum gecikme süresine sahiptir, 99.95% çalışma süresi ve 14 gün para iade garantisi. Sadece bu değil, aynı zamanda şuralarda da mevcut: 12 Dünyanın her yerindeki lokasyonlarda uygun fiyatlarla.
MongoDB'yi Çalıştırmak İçin En Yaygın Üç Düzeltme
Sisteminizin MongoDB ile ilgili sorununu tam olarak anlamanın ve sorunu tek bir kolay adımla çözmenin kesin bir yolu yoktur. İşte MongoDB'nizin çalışmaya başlamasını sağlamak için kullanabileceğiniz bazı genel düzeltmeler.
- YAML yapılandırma girinti hatası. Diyelim ki düzenlediniz /etc/mongod.conf sorarak girintiyi yeniden kontrol edin sudo nano /etc/mongod.conf. YAML dosyası boşluklara oldukça duyarlıdır, bu nedenle her düzeyde yalnızca iki boşluk olduğundan emin olun. /etc/mongod.conf.
- İşgal edilen bağlantı noktası 27017. Başka bir şey 27017 numaralı bağlantı noktasını kullanıyorsa onu kapatın veya MongoDB'nin bağlantı noktasını değiştirin. mongod.conf. 27017 numaralı bağlantı noktasında çalışan herhangi bir şeyden emin değilseniz, çalıştırmaktan çekinmeyin sudo ss -lntp | grep 27017 kontrol etmek için
- Veri dizininde izin sorunu. Bazen MongoDB'nin sisteminizde çalışma izni yoktur ve bu nedenle hiç çalışmaz. İlk çalıştırma sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb, ardından MongoDB'yi şununla yeniden başlatın: sudo systemctl mongod'u yeniden başlat
Buna göre MongoDB'nin resmi web sitesi, bu sorunu çözmenin bir başka yolu daemon'u yeniden yüklemektir. sudo systemctl daemon-yeniden yüklemeve ilk komutu çalıştırın, sudo systemctl mongod'u başlat, Tekrar.
eğer yoksa mongod.service, kurulum sistem birimini yerleştirmedi, bu yüzden yeniden yükleyin mongodb-org paket seti.
Bütün bunlarla birlikte MongoDB'nin başarılı bir şekilde başlatılıp başlatılmadığını doğrulayabilirsiniz. sudo systemctl durumu mongod. Terminal diyorsa aktif (çalışıyor), gitmeye hazırsın. Ancak deneyiminizi daha sorunsuz hale getirecek bazı başka yapılandırmalar da var.
MongoDB'yi Otomatikleştirin
MongoDB, sunucunuzu her açtığınızda otomatik olarak açılmaz; Her seferinde belirtilen adımlardan bazılarını tekrarlamanız gerekecektir. İsteğe bağlı olarak, masaüstünüze önyükleme yaptıktan sonra Ubuntu'ya MongoDB'yi başlatmasını söyleyebilirsiniz.
Basitçe çalıştırın sudo systemctl mongod'u etkinleştir terminalinizde, bundan sonra sisteminize her yeniden başlatmanın ardından MongoDB'yi çalıştırmasını söyleyecektir. Ayrıca, yeniden başlatabilirsiniz Moğol komutunu vererek işlemi gerçekleştirin sudo systemctl mongod'u yeniden başlat. Ayrıca kullanıcıların herhangi bir hata veya önemli mesaj için dosyadaki çıktıyı inceleyerek süreci takip etmesi gerekebilir:
/var/log/mongodb/mongod.log
Artık her şey ayarlandığına göre mongodunuzu kullanmaya başlayalım.
MongoDB Kabuğunu Açma
Veritabanlarıyla etkileşim kurmak için kullanıcıların şu komutu vererek bir MongoDB kabuğu açması gerekir: Moğol. Bunu MongoDB veya MySQL konsolu için özel bir komut istemi terminali olarak düşünün. Alternatif olarak MongoDB sürücüleri gibi GUI araçlarıyla MongoDB ile etkileşim kurabilirsiniz. Ancak terminalden onunla etkileşime geçmek istiyorsanız, Moğol bunu gerçekleştirmek için yapılıyor.
MongoDB'niz artık tamamen işlevsel olacaktır ancak onu güvenli hale getirmek için dikkate almanız gereken bazı ek adımlar vardır.
MongoDB'nin Kimlik Doğrulamasını Sağlayın
MongoDB'nin varsayılan olarak parola koruması yoktur çünkü kullanıcı oluşturmak için zaten erişiminizin olması gerekir. İşte bunu gerçekleştirmenin basit bir yolu
Yönetici Kullanıcı Oluşturma
Öncelikle aşağıdakilerle yönetici veritabanına geçmeniz gerekir:
use admin
Daha sonra şununla bir kullanıcı oluşturun: db.createUser({…}). Bunu şununla doldurun:
- Kullanıcı adı
- Şifre
- Rol
Rol için tercihen yazın kök bu tam kontrol veya yönetici anlamına gelir.
Kimlik Doğrulamayı Etkinleştir
Artık kendi kullanıcı kurulumumuz olduğuna göre, düzenlememiz gerekiyor. /etc/mongod.conf dosya. Bunun nedeni, bu dosyanın MongoDB'nin nasıl davranacağını kontrol etmesidir. Ancak dosyayı düzenleyerek her zaman yeniden başlatmanız gerektiğini unutmayın. Moğol daha sonra servis sudo systemctl mongod'u yeniden başlat. Burada değiştirmemiz gereken, yetkilendirme adı verilen ve şuna benzeyen bir parametredir:
security:
authorization:
Kimlik doğrulama işlemini tamamlamak için yetkilendirme değerini şu şekilde değiştirmeniz yeterlidir:
security:
authorization: enabled
Şu andan itibaren MongoDB oturum açmayı gerektiriyor, bu nedenle kimlik doğrulamanız tamamlandı. Şimdi MongoDB’yi tam olarak kullanan başka bir konfigürasyona geçelim.
Güvenlik Duvarınızı Açın
Daha önce de belirtildiği gibi, MongoDB 27017 numaralı bağlantı noktasında çalışır. Güvenlik duvarları bağlantı noktalarını varsayılan olarak engellediğinden, güvenlik duvarınıza uygulamaların 27017 üzerinde çalışmasına izin vermesini söylemeniz gerekir. Bunun gerçekleşmesi için şu komutu vermeniz yeterlidir:
ufw allow from YOUR_IP to any port 27017
Alternatif olarak şu komutu da verebilirsiniz ufw izin ver 27017, ancak dikkatli olun çünkü bunu çalıştırmak tüm internetin bu bağlantı noktasına erişmesine izin verecektir. Trafiğin bağlantı noktasına yalnızca IP adresinizden erişmesine izin verdiğinden, ilk seçeneği tercih etmek en güvenli seçeneğiniz olabilir.
Kullanıcılar MongoDB'yi çalıştırırken uzaktan erişim sorunu gibi zorluklarla karşılaşmaya devam edebilir. Bunu nasıl düzelteceğinizi öğrenmek için buralarda kalın.
Uzaktan Erişim Sorunu
MongoDB şununla başlıyor: bağlamaIp. bağlamaIp MongoDB'yi şu şekilde sınırlar: 127.0.0.1, yalnızca yerel bağlantılara izin verir. Bu nedenle, MongoDB sunucunuza başka bir yerden bağlanacak olsaydınız erişime izin verilmezdi çünkü MongoDB, aksi şekilde yapılandırılmadıkça varsayılan olarak yalnızca yerinde bağlantılara izin verecek şekilde yapılandırılmıştır.
Tekrar yola çıkın /etc/mongod.confve bunun gibi üç satır göreceksiniz:
net:
port: 27017
bindIp: 127.0.0.1
Uzaktan bağlantılara izin vermek istiyorsanız Moğol kullanıcı, yukarıda sunulan değerleri şu şekilde değiştirin:
net:
port: 27017
bindIp: 0.0.0.0
Daha sonra cihazınızı yeniden başlatın Moğol ile hizmet sudo systemctl mongod'u yeniden başlat dosyada yaptığınız diğer tüm düzenlemelerde olduğu gibi.
Artık hakkını vermiş oldun Moğol uzak bağlantıları kabul etmek için hizmet izni. Ancak dikkatli olun, çünkü bunu yaparak, henüz kimliğinizi doğrulamadıysanız veritabanınızı tüm internete açık hale getireceksiniz. Moğol kullanıcı. Sürekli olarak açık MongoDB bağlantı noktalarını tarayan birçok bot vardır, bu nedenle her zaman mongod kullanıcınızın bir parolası olduğundan emin olun.
Büyük Resim Özeti
Tebrikler, artık Ubuntu sisteminiz için optimize edilmiş bir MongoDB hizmeti oluşturmak için her şeyi yaptınız. Ayrıca bu makalede sunulan her adımı takip edebileceğiniz zihinsel bir haritayı da burada bulabilirsiniz.
| Emretmek | Ne İşe Yarar |
| uygun güncelleme | Yazılım listesini yenile |
| uygun kurulum | Yazılımı yükleyin |
| kıvırmak | Dosyayı indir |
| gpg | Şifreleme anahtarlarını yönet |
| yankı | Metni yazdır |
| tişört | Korumalı dosyaya yaz |
| systemctl başlat | Hizmeti başlat |
| systemctl etkinleştir | Önyüklemede başlat |
| sistemctl durumu | Hizmeti kontrol edin |
| Moğol | MongoDB kabuğuna girin |
| Düzenlemek /etc/mongod.conf | Kimlik doğrulamayı etkinleştir |
| ufw | Güvenlik duvarını yönet |
| bağlamaIp | Uzaktan erişime izin ver |
Bu, tüm süreci daha iyi anlamanıza yardımcı olacaktır. Ancak MongoDB'yi kendi başınıza kurmak size çok fazla geliyorsa Cloudzy'yi çalıştırdığınızdan emin olun. MongoDB VPS'si MongoDB'nin önceden kurulu olduğu kendi özel Ubuntu 24.04 LTS sunucunuz için.
Birlikte gelir 99.95% çalışma süresi, 24/7 destek ve bir 14 gün para iade garantisi. Bunun dışında şu ana kadar destekler: 40 Gbps bant genişliği sayesinde DDR5 RAM Ve NVMe SSD'si depolamak. Nerede yaşadığınızı bile dert etmeyin, çünkü şu ülkelerde de mevcuttur: 12 Dünyanın her yerinde uygun fiyata.
Ancak tüm bunlarla birlikte, sonunda üretim düzeyindeki iş yüklerini ve işletmeleri desteklemek için her türlü yapılandırmayla donatılmış, kendi yetenekli MongoDB hizmetinizi kurmayı başardınız.