Vissza a bloghoz

Redis szerver beállítása munkamenet-kezelőként PHP-hoz Ubuntu 20.04-en

Redis szerver beállítása munkamenet-kezelőként PHP-hoz Ubuntu 20.04-en

Redis egy nyílt forráskódú, memóriában működő gyorsítótár- és tárolórendszer, amelyet adatstruktúra-szerverként is emlegetnek. Fejlett támogatást nyújt számos adattípushoz, mint például a hash-ek, listák, halmazok, bitképek és még sok más. Kiváló teljesítményének köszönhetően a Redis rendkívül népszerű a vezető iparágakban és a legfontosabb multinacionális vállalatok körében.

A Redis előnyei

Ha a sebességről van szó, a Redis szervereknek nincs párja. Mint NoSQL adatbázis-szerver, fantasztikus sebességet kínál az adatok tárolásához és lekérdezéséhez. Emellett a Redis olyan kiemelkedő funkciókkal rendelkezik, amelyek zökkenőmentessé teszik a különböző, akár összetett adatokkal való munkát. A Redis egyszerű használata és kifinomult funkciói nemcsak kiemelik a mezőnyből, hanem lehetővé tették növekvő szabványosítását is, mint fősodorbeli adatbázis a vállalati és egyéni felhasználók számára.

Az alábbiakban részletesen bemutatjuk a Redis Ubuntu 20.04 szoftverre történő telepítésének lépéseit. Ebben az útmutatóban minden szükséges információt megtalál a telepítéstől kezdve a külső Redis szerver konfigurálásáig, amelyet egy Ubuntu 20.04-en futó PHP alkalmazás munkamenet-kezelőjeként (session handler) fogunk használni.

Első lépések

A lépések végrehajtásához két különböző adatbázis-szerverre (droplet-re) lesz szüksége, amelyek ugyanabban az adatközpontban találhatók, és engedélyezve van rajtuk a privát hálózat. Ezek a következők:

  • Egy PHP webszerver, amelyen a LAMP és a LEMP fut Ubuntu 20.04-en – erre a szerverre a továbbiakban úgy hivatkozunk, mint web.

  • Egy második, tiszta Ubuntu 20.04 szerver, amelyre a Redis telepítve lesz – erre a szerverre a továbbiakban úgy hivatkozunk, mint redis.

1. lépés — A Redis szerver telepítése

Az első lépésünk a Redis szerver telepítése Ubuntu 20.04-re. Ha ez kész, győződjön meg arról, hogy a szerver fut a redis Dropletünkön.

Ebben az útmutatóban személyes csomagtárolókat (PPA-kat) fogunk használni. Biztonsági okokból kifejezetten javasoljuk a PPA-k használatát. Más harmadik féltől származó tárolókhoz képest a PPA-k stabilak, könnyen telepíthetők, és mindenekelőtt a tárolót kifejezetten Ubuntu-felhasználók számára tervezték. A PPA lehetővé teszi a legújabb elérhető szoftververzió beszerzését, még azon szoftverek esetében is, amelyeket nem talál meg a hivatalos Ubuntu tárolókban.

A nem engedélyezett forrásból származó PPA-k használata szigorúan tilos. Győződjön meg arról, hogy a PPA-kat kizárólag hiteles és ellenőrzött forrásokból szerzi be. A PPA tárolót a következő paranccsal adhatja hozzá:

Nyomja meg az Enter billentyűt a megerősítéshez. A megerősítés után a következő paranccsal frissítjük a csomagkezelő gyorsítótárát:

Ezután a következő paranccsal telepítjük a Redis-t:

A parancs végrehajtása után a Redis telepítve lesz a szerverén. Teszteljük a telepítést a következő paranccsal:

A parancs futtatása után látni fog egy Redis példányt, amely a localhost címen fut a 6379 porton. Emellett egy PONG nevű válasz is érkezik. Ha ezeket látja, az azt jelenti, hogy sikeresen elvégezte az első lépést. A Redis telepítéséről és biztonságossá tételéről szóló részletes útmutatóért tekintse meg a következő leírásunkat: Hogyan telepítsük és tegyük biztonságossá a Redis-t Ubuntu 18.04-en.

Most pedig lépjünk tovább a következő lépésre - a Redis konfigurálására.

2. lépés — A Redis konfigurálása külső kapcsolatok fogadására

A Redis konfigurálásának fő célja a kívülről érkező kapcsolatok fogadása. Miért? Mert a Redis – alapértelmezés szerint – csak a localhost felé engedélyezi a kapcsolatokat, és korlátozás van érvényben a bárhonnan máshonnan történő csatlakozásra. Egyszerűbben fogalmazva, csak azon a szerveren belülről lesz hozzáférése, amelyre a Redis-t telepítette.

Először is, kérjen részletes információt a hálózati interfészeiről a ifconfig paranccsal:

A következő kimenetet fogja kapni:

A(z) eth1 interfészen találja a inet_addr címet. Itt a következő van: 10.133.14.9. Ezt az IP-címet fogjuk használni a következő lépésekben, hogy csatlakoztassuk a redis szervert a web szerverről.

3. lépés — Localhost kötés

Bátran használhatja az Ön által választott kódszerkesztőt (az Atom és a Visual Studio Code a legnépszerűbbek).

Most nyissa meg a /etc/redis/redis.conf fájlt, és keresse meg azt a sort, amely a bind definíciót tartalmazza. Hozzá kell adnia a privát hálózati IP-címét a sorhoz:

Lehet, hogy a localhost szöveget látja a 127.0.0.1 helyett. Semmi gond, csak hozzá kell adnia a privát IP-címét. Ezután indítsa újra a Redis szolgáltatást a módosítások alkalmazásához. Használja az alábbi parancsot a redis szerver újraindításához:

Azon felhasználók számára, akik az egykattintásos alkalmazással telepítették a Redis-t, az alábbi parancsot kell követniük a szerver újraindításához:

Miután újraindította a redis szervert, az ugyanabban a privát hálózatban lévő bármely szerver automatikusan csatlakozni fog ehhez a Redis példányhoz, anélkül, hogy ezt egyenként kellene megtenni.

4. lépés — Redis szerver jelszó beállítása

Kihagyhatja ezt a lépést, ha a Redis telepítést gyakorlati vagy oktatási célokra használja. Azonban a jelszó beállítása a redis szerverhez erősen ajánlott, ha egy extra biztonsági réteget szeretne adni a Redis telepítéséhez. Módosítsuk ugyanazt a konfigurációs fájlt, mint az előző lépésben. Használja a parancsot a szerkesztéshez:

Vegye ki a kommentjelet abból a sorból, amely a requirepass kifejezést tartalmazza, és állítson be egy erős jelszót:

Indítsa újra a Redis szolgáltatást a végrehajtott módosítások érvénybe léptetéséhez. Használja a következő parancsot az újraindításhoz:

5. lépés — Redis kapcsolat és hitelesítés tesztelése

Ebben a lépésben a Redis szolgáltatáshoz fogunk csatlakozni a redis gépen belülről, hogy megbizonyosodjunk arról, hogy minden elvégzett módosítás zökkenőmentesen és az elvárásoknak megfelelően működik. A csatlakozáshoz használja az alábbi parancsot:

Itt még akkor is futni fog, ha kihagyja a gépnév megadását. Elsődleges célunk annak ellenőrzése, hogy a Redis szolgáltatás zökkenőmentesen fogadja-e a kapcsolatokat:

Előfordulhat, hogy egy AUTH hibát kap, amikor megpróbál hozzáférni az adatokhoz a megadott jelszóval:

A kimenet ehhez hasonlóan fog kinézni:

A hitelesítéshez futtassa az AUTH parancsot azzal a jelszóval együtt, amelyet a /etc/redis/redis.conf fájlban adott meg:

Ezután futtassa újra a parancsot:

Ezúttal egy OK választ fog kapni hiba helyett. A kimenet az alábbi lesz:

Az üres lista vagy halmaz kimenet azt jelenti, hogy a Redis szerver üres. Ez azért van, mert még nem konfiguráltuk a webszervert munkamenet-kezelőként.

Megjegyzés: Mielőtt továbblépnénk, győződjön meg arról, hogy az SSH-munkamenet meg van nyitva és csatlakozik a redis-cli-hez. A következő lépésekben visszatérünk a redis-cli parancssorhoz, hogy ellenőrizzük, megfelelően lettek-e tárolva a munkamenet-adatok, miután elvégeztük a szükséges módosításokat a web szerveren.

6. lépés — Redis kiterjesztés telepítése a webszerveren

A következő lépéseket a web szerveren kell végrehajtani. Telepítenünk kell a PHP Redis kiterjesztést, hogy a PHP csatlakozni tudjon a Redis szerverhez.

Először frissítse a csomagkezelő gyorsítótárát a következő parancs futtatásával:

Ezután telepítse a php5-redis csomagot:

Minden készen áll a Redis-hez való csatlakozáshoz.

7. lépés — A Redis beállítása alapértelmezett munkamenet-kezelőként a webszerveren

A PHP rendelkezik egy alapértelmezett munkamenet-kezelővel. Ebben a lépésben szerkeszteni fogjuk a php.ini fájlt a web szerveren az alapértelmezett beállítások módosításához. A php.ini fájl helye az aktuális szoftvercsomagtól függ:

  • A LAMP szoftvercsomag esetén Ubuntu 20.04-en használja a következőt: /etc/php5/apache2/php.ini.

  • A LEMP szoftvercsomag esetén Ubuntu 20.04-en az elérési út általában /etc/php5/fpm/php.ini.

Ha nem biztos a fő php.ini fájl helyében, hívja segítségül a phpinfo() függvényt. Helyezze el a következő kódot egy info.php nevű fájlban a webes gyökérkönyvtárában:

Amikor megpróbálja elérni a szkriptet a böngészőjéből, keresse meg a „Loaded Configuration File” sort. Itt megtalálja a betöltött fő php.ini pontos helyét. Mindenképpen távolítsa el az info.php fájlt, mivel az a környezet összes érzékeny adatát tartalmazza.

Ezután nyissa meg a php.ini fájlt, és keresse meg a session.save_handler sort. Az alapértelmezett érték files lesz, ezt mindenképpen módosítsa a következőre: redis.

A LAMP környezetekben:

A LEMP környezetekben:

Ezután vegye ki a megjegyzésből a session.save_path sort, és módosítsa az értéket úgy, hogy az tartalmazza a Redis kapcsolati karakterláncot. A tartalomnak az alábbi formátumot kell követnie:

Használja azt a jelszót, amelyet a 4. lépésben állítottunk be.. Abban az esetben, ha nem használja a beállított jelszót, adja meg az auth paramétert a Redis konfigurálásakor. Most mentse el a fájlt, és indítsa újra a php szolgáltatást mindkét környezetben.

A LAMP környezeteken:

A LEMP környezeteken:

8. lépés — A Redis munkamenet-kezelés tesztelése

Az utolsó lépésben szükségünk van egy PHP-szkriptre vagy alkalmazásra, hogy megbizonyosodjunk arról, hogy a munkameneteket most már a Redis kezeli. Egy egyszerű szkriptet fogunk használni, amely egy számlálót valósít meg – minden alkalommal, amikor újratölti az oldalt, a kiírt szám növekszik.

Hozzon létre egy fájlt a következő névvel: demo.php a web szerveren, és tartsa a dokumentum gyökérkönyvtárában:

Ezután módosítsa a /usr/share/nginx/html részt, hogy a dokumentum gyökérkönyvtárának útvonalát tükrözze:

Ezután irányítsa a böngészőjét a http://web/demo.php címre a szkript eléréséhez. A program minden alkalommal növeli a számot, amikor újratölti az oldalt.

Most már a Redis szerveren lesznek tárolva a munkamenet-információk. Az ellenőrzéshez vissza kell térnie az SSH-munkamenethez a redis gépen a redis-cli használatával. Kérje le újra a tartalmat a keys *:

Az alábbi kimenetet fogja látni:

A kimenet igazolja, hogy minden információ biztonságosan tárolva van a redis szerveren. Ha további web szervereket szeretne csatlakoztatni, ugyanígy járhat el.

Összegzés

A Redis egy NoSQL adatbázis, amely számos strukturálatlan adat tárolását teszi lehetővé. Nagyon kevés adatbázis hasonlítható össze a redis szerver funkcionalitásával és egyszerűségével. Növekvő népszerűsége folyamatosan elengedhetetlenné teszi, és széleskörű funkcióihoz képest kevés alternatívája van.

A PHP-alkalmazásokkal és azok használatával kapcsolatos ismeretei további elmélyítéséhez tekintse meg a blogunkon található alábbi útmutatókat:

Kellemes számítástechnikát!

author

Shreyas Patil

Szerző · CloudSigma

Preslav Dobrev a CloudSigma kreatív tervezője, aki hagyományos és innovatív marketingcsatornák segítségével következetes vállalati identitás kialakítására összpontosít. Kiemelkedően képes ötvözni a művészi látásmódot a stratégiai marketinggel, hogy hatásos márkatörténeteket hozzon létre.

Hozzászólások

Még nincsenek hozzászólások. Legyen Ön az első.