50% kedvezmény minden terv, korlátozott idő. Kezdés: $2.48/mo
12 perc van hátra
Adatbázisok és elemzések

A MongoDB telepítése az Ubuntu három legújabb verziójára (lépésről lépésre)

Jim Schwarz By Jim Schwarz 12 perc olvasás
A MongoDB eredeti szimbóluma futurisztikus szerveren bemutatva a MongoDB Ubuntu+ rendszerre történő telepítéséhez, arról, hogy mit várhatunk a cikktől + a cikk címe + Cloudzy márkalogó

Tehát úgy döntött, hogy MongoDB-t használ, ez nagyszerű alternative to MariaDB MERN verem alkalmazás, analitikai platform vagy bármilyen dokumentum alapú rendszer felépítéséhez, de falba ütköztek a jó öreg Linux parancssorokkal és számtalan terminálhibával. 

Aggodalomra azonban semmi ok, mert ez az útmutató mindent megad, amit A-tól Z-ig tudnia kell a MongoDB Ubuntu telepítéséhez.

MongoDB használ X.Y.Z verziószámítás. 8.0 az a őrnagy kiadás sorozat, és 8.2 az a kiskorú kiadása azon a 8.0 cikluson belül. A kisebb kiadások ugyanabban a fő ciklusban adnak hozzá szolgáltatásokat, és a 8.0-tól kezdve a helyszíni telepítésekhez is elérhetők bizonyos használati esetekre (például Search és Vector Search). A MongoDB 8.0 az Ubuntu-n támogatja 24,04 (Noble), 22,04 (Jammy) és 20,04 (Fokális) 64 bites rendszereken, ARM64 támogatással bizonyos platformokon.

GnuPG és Curl előfeltételek

A hivatalos telepítése előtt mongodb-org csomaghoz az Ubuntu két előfeltételt igényel: GnuPG és Becsavar. Ezek az eszközök engedélyt adnak az Ubuntunak a MongoDB letöltésére, mivel az Ubuntu sajátja mongodb A csomagot nem a MongoDB Inc. karbantartja, és ütközik a tisztviselővel mongodb-org csomag. Ha már telepítette mongodb mindenképpen távolítsa el.

Ezután futtassa a parancsot sudo apt-get install gnupg curl. A Curl egy eszköz, amellyel fájlokat tölthet le az internetről, és a MongoDB biztonsági kulcsának lekéréséhez szükséges. Az Ubuntu a GnuPG-t használja a szoftver hitelességének ellenőrzésére. Ha hiányzik a GnuPG, az Ubuntu nem tudja ellenőrizni a MongoDB-csomagokat.

Győződjön meg arról, hogy a terminál sikeresen telepítette a GnuPG-t és a Curl-t. Ha igen, akkor így kell kinéznie:Ubuntu terminál kimenet a GnuPG és a Curl hozzáadása után

MongoDB GPG kulcs importálása

Az Ubuntu csomagkezelője, az APT GPG-kulcsokat használ a csomagok telepítés előtti ellenőrzésére. E GPG kulcs nélkül az Ubuntu nem teszi lehetővé a MongoDB adattárainak hozzáadását. A kulcs hozzáadásához írja be a következő parancsot a terminálba:

curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
   sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
   --dearmor

Ha működik, a terminál kimenetének így kell kinéznie:Ubuntu terminál a MongoDB GPG kulcsának sikeres hozzáadása után.

Egyszerűen fogalmazva, ez a parancs letölti a MongoDB biztonsági aláírását, átalakítja az Ubuntu által olvasható formátumba, és elmenti egy biztonságos rendszermappába. Íme a parancssor szakaszonkénti lebontása:

  1. curl -fsSL URL letölti a MongoDB hivatalos kulcsát
  2. – drágaság átalakítja a kulcsot szöveges formátumból binárissá, hogy az Ubuntu megértse
  3. -o /usr/share/keyrings/mongodb-server-8.0.gpg elmenti a bináris fájlt egy mappába, ahol az Ubuntu a megbízható kulcsokat tárolja

Ha minden parancssort tökéletesen illeszkedik, a nyilvános GPG-kulcs probléma nélkül hozzáadódik. Egyes felhasználók azonban problémákba ütköznek a MongoDB letöltése során a nem egyező GPG-kulcs miatt. Ilyen hibák:

NO_PUBKEY
The following signatures couldn't be verified
public key not available

Akkor fordulhat elő, ha korábban nem követi pontosan a GPG billentyűparancsokat, és helyette használja sudo apt-key mert a modern Ubuntu nem ajánlja.

Add hozzá a MongoDB adattárat

A MongoDB Repository hozzáadása létrehoz egy fájlt, amely közli az Ubuntuval, hogy a MongoDB-csomagok egy adott internetcímen élnek. Hozza létre a listafájlt a címen /etc/apt/sources.list.d/mongodb-org-8.0.list segítségével beírja a tároló sort visszhang… | sudo póló…

Itt válik bonyolulttá, mivel az Ubuntu különböző verziói a parancs különböző változatait követelik meg. Most megvizsgáljuk, hogyan importálhatjuk a listafájlt az Ubuntu korábban említett három verzióján.

Ubuntu 24.04 (Noble)

A listafájl létrehozásához az Ubuntu 24.04-en egyszerűen fogalmazva echo “deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list a terminálján.

Ez zavarónak tűnhet, de ne izzad meg. Ha a parancsot részekre bontjuk, kristálytiszta lesz.

  1. visszhang szöveget nyomtat
  2. /etc/apt/sources.list.d az a mappa, amelyben az Ubuntu a szoftverforrás-definíciókat tárolja. Minden fájl .lista A mappán belüli formátum az Ubuntut egy adott helyre mutat, ahonnan szoftvert tölthet le
  3. Normál felhasználóként alapértelmezés szerint nem írhat semmit a rendszermappákba. póló speciális engedélyt ad a felhasználónak, hogy használat közben szöveget írjon a rendszerfájlokba sudo
  4. nemes az Ubuntu 24.04 kódneve. Minden Ubuntu verziónak van egy kódneve, például:
Változat Kódnév
20.04 Fokális
22.04 Jammy
24.04 Nemes

Ha nem illeszti össze az Ubuntu verzióját a megfelelő parancssorral, az Ubuntu nem ismeri fel a MongoDB adattárát.

Ubuntu 22.04 (Jammy)

A listafájl hozzáadása az Ubuntu Jammy-hez ugyanúgy néz ki, de a csere során be kell írnia a parancssort nemes -vel lekváros, így:

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

Győződjön meg arról, hogy ez egyezik az Ubuntu verziójával, különben ismét meghibásodik.

Ubuntu 20.04 (Fokális)

Kövesse ugyanazokat a lépéseket itt, de ahelyett nemes or lekváros, tedd be fokális:

echo “deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/8.0 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

Most a tároló beállítása után folytathatja a telepítést mongodb-org.

Frissítse a csomagadatbázist

Most, hogy az Ubuntu felismerte a repository-t, újra kell töltenie a benne lévő csomagadatbázist, így mostantól a MongoDB-t is tartalmazza. Adja ki az alább említett parancsot:

sudo apt-get update

Ez a parancs ugyanaz marad minden Ubuntu verzióban, és ha kihagyják, az Ubuntu nem tartalmazza a MongoDB-t. Ha a parancs elvégzi a feladatát, a terminál kimenete a következő legyen:Ubuntu terminál kimenet a sudo apt-get update futtatása után

 Most, a csomagadatbázis újratöltése után itt az ideje letölteni a MongoDB csomagokat.

Telepítse a MongoDB Community Servert

Különféle MongoDB-kiadásokat kell telepíteni, de a felhasználók általában a legújabb stabil verziót választják, mivel ez előnyösebb. A legújabb stabil verzió telepítéséhez futtassa sudo apt-get install -y mongodb-org

Az Ubuntu most letöltötte a MongoDB csomagokat, telepítette őket, létrehozott egy MongoDB felhasználói fiókot és egy adatkönyvtárat, és regisztrálta a MongoDB-t rendszerszolgáltatásként. Mostanra bemutattuk, hogyan lehet letölteni a MongoDB-t Ubuntu-ra. Most kezdjük el.

Hogyan indítsuk el a MongoDB-t

Most a MongoDB futtatásához meg kell mondanunk az Ubuntu "systemd" szolgáltatáskezelőjének, hogy ismerje fel a MongoDB-t háttérszolgáltatásként, és ehhez be kell írnia a következő parancsot a termináljába:

sudo systemctl start mongod

Ha a parancs elvégzi a feladatát, az Ubuntu most megnyitja a MongoDB-t háttéralkalmazásként. Ha azonban a parancs nem végzi el a feladatát, a következőhöz hasonló hibaüzenetet kaphat Nem sikerült elindítani a mongod.service-t.

Ez több gyakori probléma miatt fordulhat elő:

  • Konfigurációs fájl hiba in /etc/mongod.conf (A YAML behúzási hibák gyakoriak)
  • Port konfliktus (a 27017-es port már foglalt)
  • Engedély kérdése adat- vagy naplókönyvtárakon (var/lib/mongodb vagy var/log/mongodb)
  • A lemez megtelt or sérült fájlrendszer állapot

Három parancs a probléma diagnosztizálásáraFuturisztikus szerverbeállítás + három ubuntu terminálparancs + felhő frissítési útvonal írással.

Könnyű megmondani, hogy mi lehet a hiba a konfigurációjával, amiért a MongoDB nem fut, de sokkal nehezebb meghatározni a pontos okot. Három egyszerű módszerrel diagnosztizálhatja, honnan származhat a hiba:

  1. Ellenőrizze a szolgáltatás állapotát: sudo systemctl status mongod –no-pager
  2. Ellenőrizze a részletes naplókat (a legfontosabb): sudo journalctl -u mongod –no-pager -n 100
  3. Ellenőrizze a MongoDB saját naplófájlját

De vegye figyelembe, hogy ha a lemez megtelt vagy a rendszerfájlok sérültek, a javítás inkább a hardverre, mint a szoftverre vonatkozik. Előfordulhat, hogy a felhasználóknak jobb felszerelést kell vásárolniuk a kiszolgáló beállításához a MongoDB hatékony futtatása érdekében, ha a jelenlegi beállításuk elavult. 

Ha egy teljes értékű szerver vásárlása nem tartozik a költségvetésbe, fontolja meg a Cloudzy's megtekintését Ubuntu VPS tiszta élményért saját privát szerverén egy tetszőleges Ubuntu disztribúcióval. Ez jár hozzá 24/7 támogatást és akár 40Gbps hálózati sebesség, köszönhetően annak NVMe SSD és DDR5 RAM tárolás.

Ráadásul minimális késleltetéssel rendelkezik, 99.95% üzemidő, és a 14 napos pénzvisszafizetési garancia. Nem csak ez, de beszerezhető is 12 helyeken szerte a világon megfizethető áron.

Három leggyakoribb javítás a MongoDB futtatásához

Nincs abszolút mód a rendszer pontos MongoDB problémájának felismerésére és egy egyszerű lépéssel történő kijavítására. Tehát itt van néhány gyakori javítás, amellyel remélhetőleg elindíthatja MongoDB-jét.

  1. YAML konfigurációs behúzási hiba. Tegyük fel, hogy szerkesztetted /etc/mongod.conf rákérdezéssel ellenőrizze újra a behúzást sudo nano /etc/mongod.conf. A YAML fájl meglehetősen érzékeny a szóközökre, ezért ügyeljen arra, hogy szintenként csak két szóköz legyen /etc/mongod.conf.
  2. Foglalt 27017-es port. Ha valami más használja a 27017-es portot, állítsa le, vagy módosítsa a MongoDB portját mongod.conf. Ha nem biztos abban, hogy bármi fut a 27017-es porton, nyugodtan futtassa sudo ss -lntp | grep 27017 hogy megnézzem
  3. Engedélyprobléma az adatkönyvtárban. Néha a MongoDB nem rendelkezik engedéllyel a rendszeren való futtatáshoz, ezért egyáltalán nem fut. Első futás sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb, majd indítsa újra a MongoDB-t a következővel sudo systemctl indítsa újra a mongodot

Szerint A MongoDB hivatalos weboldala, a probléma megkerülésének másik módja a démon újratöltése sudo systemctl démon-reloadés futtassa az első parancsot, sudo systemctl start mongod, ismét.

Ha nincs mongod.service, a telepítés nem helyezte el a rendszeregységet, ezért telepítse újra a mongodb-org csomag készlet.

Mindezek ellenére ellenőrizheti, hogy a MongoDB sikeresen elindult-e sudo systemctl állapot mongod. Ha a terminál azt mondja aktív (futó), indulhatsz. De van még néhány további konfiguráció, amelyek sokkal gördülékenyebbé teszik az élményt.

A MongoDB automatizálásaFuturisztikus szerverbeállítás MongoDB automatizálási szimbólummal + terminál MongoDB paranccsal + naplófájl

A MongoDB nem nyílik meg automatikusan minden alkalommal, amikor bekapcsolja a szervert; minden alkalommal meg kell ismételnie néhány említett lépést. Opcionálisan megmondhatja az Ubuntunak, hogy indítsa el a MongoDB-t az asztali rendszerindítás után.

Egyszerűen fuss sudo systemctl enable mongod a terminálon, amely mostantól minden újraindítás után azt fogja mondani a rendszernek, hogy futtassa a MongoDB-t. Ezenkívül újraindíthatja a mongod folyamat a parancs kiadásával sudo systemctl indítsa újra a mongodot. Ezenkívül előfordulhat, hogy a felhasználóknak követniük kell a folyamatot bármilyen hiba vagy fontos üzenet esetén a fájl kimenetének áttekintésével:

/var/log/mongodb/mongod.log

Most, hogy minden be van állítva, kezdjük el használni a mongodot.

A MongoDB Shell megnyitása

Az adatbázisukkal való interakcióhoz a felhasználóknak meg kell nyitniuk egy MongoDB-héjat a parancs kiadásával mongosh. Gondoljon rá, mint egy dedikált parancssori terminálra a MongoDB vagy egy MySQL konzol számára. Alternatív megoldásként kommunikálhat a MongoDB-vel grafikus felhasználói felület eszközeivel, például MongoDB illesztőprogramokkal. De ha a terminálról szeretne kapcsolatba lépni vele, mongosh arra készült, hogy ez megtörténjen.

A MongoDB mostantól teljesen működőképes lesz, de van néhány további lépés, amelyet meg kell fontolnia a biztonság érdekében.

Tedd a MongoDB hitelesítéstMongoDB hitelesítési folyamat + lakat szimbólum + hitelesítés megerősítése.

A MongoDB alapértelmezés szerint nem rendelkezik jelszavas védelemmel, mert már rendelkeznie kell hozzáféréssel a felhasználó létrehozásához. Íme egy egyszerű módja annak, hogy ez megtörténjen

Adminisztrátor felhasználó létrehozása

Először át kell váltania az adminisztrátori adatbázisra:

use admin

Ezután hozzon létre egy felhasználót a db.createUser({…}). Töltse ki a sajátjával

  • Felhasználónév
  • Jelszó
  • Szerep

A szerephez lehetőleg típust gyökér ami azt jelenti, hogy teljes irányítást vagy adminisztrátort.

Hitelesítés engedélyezése

Most, hogy saját felhasználót állítunk be, szerkesztenünk kell a /etc/mongod.conf fájlt. Ennek az az oka, hogy ez a fájl szabályozza a MongoDB viselkedését. De ne feledje, hogy a fájl szerkesztésével mindig újra kell indítania a mongod szolgáltatás utána sudo systemctl indítsa újra a mongodot. Itt meg kell változtatnunk az engedélyezésnek nevezett paramétert, amely így néz ki:

security:

  authorization:

A hitelesítési folyamat befejezéséhez egyszerűen módosítsa az engedélyezési értéket az alábbiak szerint:

security:

  authorization: enabled

Mostantól a MongoDB bejelentkezést igényel, így a hitelesítés véglegesítve van. Most folytassuk egy másik konfigurációval, amely teljes mértékben kihasználja a MongoDB-t.

Nyissa meg a tűzfalát

Amint korábban említettük, a MongoDB a 27017-es porton fut. Mivel a tűzfalak alapértelmezés szerint blokkolják a portokat, meg kell adnia a tűzfalat, hogy engedélyezze az alkalmazások futtatását a 27017-es porton. Ehhez egyszerűen adja ki a parancsot:

ufw allow from YOUR_IP to any port 27017

Alternatív megoldásként a parancsot is kiadhatja ufw engedélyezése 27017, de légy óvatos, mert ezt futtatva az egész internet hozzáférhet ehhez a porthoz. Lehet, hogy a legbiztosabb, ha az első opciót választja, mivel ez lehetővé teszi, hogy a forgalom csak az Ön IP-címéről férhessen hozzá a porthoz.

A felhasználók továbbra is kihívásokkal nézhetnek szembe a MongoDB futtatásakor, például a távoli hozzáféréssel. Maradjon körül, hogy megtudja, hogyan javíthatja ki.

Távoli hozzáférési problémaSzerverbeállítás 3 monitorral, amelyek konfigurálják a MongoDB távelérési beállításait + terminálparancsokat.

A MongoDB ezzel elindul bindIp. bindIp korlátozza a MongoDB-t 127.0.0.1, amely csak helyi kapcsolatokat tesz lehetővé. Ezért, ha valahonnan máshonnan csatlakozna a MongoDB-kiszolgálóhoz, akkor nem férhet hozzá, mivel a MongoDB alapértelmezés szerint csak a helyszíni kapcsolatokat engedélyezi, hacsak nincs másként konfigurálva.

Ismét irány /etc/mongod.conf, és három ehhez hasonló sort fog látni:

net:

  port: 27017

  bindIp: 127.0.0.1

Ha engedélyezni szeretné a távoli kapcsolatokat a mongod felhasználó, módosítsa a fent bemutatott értékeket a következőképpen:

net:

  port: 27017

  bindIp: 0.0.0.0

Ezt követően indítsa újra mongod szolgáltatással sudo systemctl indítsa újra a mongodot mint minden más szerkesztésnél, amelyet a fájlon végez.

Most megadtad a sajátodat mongod szolgáltatási engedély a távoli kapcsolatok fogadására. De legyen óvatos, mert ezzel az adatbázisát az egész internet számára kiszolgáltatja, ha még nem hitelesítette mongod felhasználó. Sok bot van, amely folyamatosan keresi a nyitott MongoDB portokat, ezért mindig győződjön meg arról, hogy mongod felhasználója rendelkezik jelszóval.

Nagy kép összefoglaló

Gratulálunk, most mindent megtett annak érdekében, hogy optimalizált MongoDB szolgáltatást hozzon létre az Ubuntu rendszeréhez. Itt van egy mentális térkép is, amely nyomon követheti a cikkben bemutatott minden lépést.

Parancs Mit csinál
találó frissítés Frissítse a szoftverlistát
apt install Telepítsen szoftvert
becsavar Fájl letöltése
gpg Titkosítási kulcsok kezelése
visszhang Szöveg nyomtatása
póló Írás védett fájlba
systemctl start Indítsa el a szolgáltatást
systemctl enable Kezdje a rendszerindításkor
systemctl állapot Ellenőrizze a szervizt
mongosh Írja be a MongoDB shellt
Szerkesztés /etc/mongod.conf Hitelesítés engedélyezése
ufw Tűzfal kezelése
bindIp Távoli hozzáférés engedélyezése

Ez segíteni fog az egész folyamat jobb megértésében. De ha a MongoDB önálló beállítása túl sok neked, feltétlenül pörgesse fel a Cloudzy-t MongoDB VPS saját Ubuntu 24.04 LTS-kiszolgálójához, előre telepített MongoDB-vel.

Ez jár hozzá 99.95% üzemidő, 24/7 támogatás, és a 14 napos pénzvisszafizetési garancia. Ezen kívül támogatja akár 40 Gbps a sávszélességnek köszönhetően DDR5 RAM és NVMe SSD tárolás. Ne törődj azzal, hogy hol élsz, mert itt is elérhető 12 világszerte elérhető áron.

Mindezek ellenére végre sikerült beállítania saját alkalmas MongoDB szolgáltatását, amely minden konfigurációval fel van szerelve, hogy támogassa a termelési szintű munkaterheléseket és a vállalkozásokat.

Részesedés

Továbbiak a blogból

Olvass tovább.

Intelligens adatkezelés vállalkozása számára: „Felhőszerű” tárolási és biztonsági mentési stratégiák VPS-sel
Adatbázisok és elemzések

Intelligens adatkezelés vállalkozása számára: „Felhőszerű” tárolási és biztonsági mentési stratégiák VPS-sel

A VPS a biztonságos üzleti adatkezeléshez az a stratégia, amelyet akkor ajánlok, amikor egy vállalat úgy dönt, hogy ideje abbahagyni a zsonglőrködést a laptopok, e-mail mellékletek és félig elfelejtett fájlokkal.

Rexa CyrusRexa Cyrus 7 perc olvasás
Materializált nézet vs. nézet
Adatbázisok és elemzések

Materializált nézet kontra nézet: Az adatbázisokban betöltött szerepük megértése

Az adatbázis-rendszerekben a materializált nézet adatbázis-objektumként fizikai táblaként tárolja a lekérdezés előre kiszámított eredményeit. Mivel az adatok valójában lemezen vannak tárolva, ez bonyolult

Ivy JohnsonIvy Johnson 7 perc olvasás
SnowFlake vs DataBricks
Adatbázisok és elemzések

Databricks vs Snowflake: Adatszakértők elfogulatlan összehasonlítása 🧱❄️

Azoknak a vállalkozásoknak, amelyek adatokra támaszkodnak a döntések meghozatalában – legyen szó az ügyfelek viselkedését nyomon követő e-kereskedelmi platformokról, trendeket előrejelző pénzintézetekről vagy technológiai cégekről

Allan Van KirkAllan Van Kirk 13 perc olvasás

Készen áll a telepítésre? 2,48 USD/hó-tól.

Független felhő, 2008 óta. AMD EPYC, NVMe, 40 Gbps. 14 napos pénzvisszafizetés.