A Memcached telepítése Debian 12, 11 vagy 10 rendszeren

Brad Fitzpatrick 2003-ban fejlesztette ki a Memcachedet a LiveJournal webhely számára, mint egy hatékony, nyílt forráskódú gyorsítótárazási rendszert, amely az adatbázis-terhelés csökkentésével javítja a dinamikus webalkalmazások teljesítményét. Azóta létfontosságúvá vált számos nagy forgalmú webhely és alkalmazás számára. Mielőtt telepítenénk a Memcachedet a Debian 12 Bookworm, Debian 11 Bullseye vagy Debian 10 Buster rendszerre, az alábbiakban vizsgáljunk meg néhány kulcsfontosságú pontot a Memcachedről.

Főbb jellemzők és előnyök:

  • Méretezhetőség: A másodpercenkénti műveletek millióit kezelő memcached ideális nagyméretű webes alkalmazásokhoz és szolgáltatásokhoz.
  • Elosztott gyorsítótár: Az elosztott gyorsítótár-architektúrával a Memcached lehetővé teszi a vízszintes skálázást több szerver között, növelve ezzel a gyorsítótár teljes kapacitását.
  • Memórián belüli tárhely: Memórián belüli kulcsérték-tárolóként a Memcached gyors hozzáférést biztosít a gyorsítótárazott adatokhoz, jelentősen csökkentve a késleltetést a lemezes tárolórendszerekben.
  • Egyszerű API: A Memcached egy egyszerű API-t biztosít, amely különféle programozási nyelveket támogat, beleértve a PHP-t, a Python-t, a Rubyt és másokat.
  • Gyorsítótár lejárata: A rendszer lehetővé teszi a fejlesztők számára, hogy beállítsák a gyorsítótárban tárolt adatok lejárati idejét, ami megkönnyíti az elavult vagy elavult adatok automatikus eltávolítását a gyorsítótárból.
  • Könnyűsúlyú: A minimális CPU és memória többletterhelés mellett a Memcached hatékonyan fut különféle szerverkonfigurációkon anélkül, hogy jelentősen lemerítené a rendszer erőforrásait.
  • Rugalmas adattípusok: A Memcached különféle adattípusokat, például karakterláncokat, egész számokat és összetett objektumokat tartalmaz, így sokoldalúan használható különféle felhasználási esetekben.

A következő útmutató végigvezeti Önt a Memcached telepítési folyamatán a Debian rendszeren két módszerrel: az alapértelmezett Debian-tárral a legstabilabb verzióhoz, vagy a legfrissebb bináris letöltésével és fordításával azok számára, akik a legújabb verzióval szeretnek dolgozni.

1. módszer: Telepítse a Memcachedet az alapértelmezett APT-tárolón keresztül

Ebben a részben az APT csomagkezelő segítségével telepítjük a Memcachedet Debian Linux rendszerére. Ez magában foglalja a rendszercsomagok frissítését és a Memcached telepítését néhány hasznos eszközzel.

Frissítse Debian rendszerét a Memcached telepítés előtt

Ahhoz, hogy a legújabb csomagverziókkal és biztonsági frissítésekkel rendelkezzen, először frissítse a Debian rendszert. Futtassa a következő parancsot:

sudo apt update && sudo apt upgrade

Ez a parancs frissíti a csomaglistát, és frissíti az elavult csomagokat a legújabb verziókra.

Telepítse a Memcached és a Libmemcached-eszközöket

A Debian alapértelmezett tárolóiban tartalmazza a Memcachedet, ami egyszerűvé teszi a telepítést. A Memcached telepítéséhez futtassa a következő parancsot:

sudo apt install memcached libmemcached-tools

Ez a parancs telepíti a Memcachedet és a libmemcached-tools csomag. A libmemcached-tools csomag további parancssori segédprogramokat biztosít, amelyek több interakciót és felügyeleti képességet tesznek lehetővé a Memcached segítségével.

2. módszer: Telepítse a Memcached programot forráson keresztül

Ez a rész a Memcached telepítését tárgyalja a Debian rendszerre a forráskódból történő fordítással. A forrásból történő telepítés előnyös lehet, ha a Memcached legújabb verzióját szeretné használni, vagy testre szeretné szabni a buildet az adott követelményeknek megfelelően.

Töltse le a Memcached Source-t

Először látogassa meg a Memcachedet legújabb kiadási oldala hogy megtalálja az aktuális verziót. Használja a következőket wget parancs a közvetlen letöltéshez:

wget https://memcached.org/latest

Memcached forrásarchívum kibontása

Ezután bontsa ki a letöltött forráskódot a következő parancs futtatásával:

tar -xvf latest

Mielőtt folytatná, keresse meg a kibontott könyvtárat. A könyvtár neve a letöltött verziótól függ:

cd memcached-{place version number here}

Cserélje ki {version_number} a tényleges verziószámmal.

Telepítse a Memcached fordításához szükséges kezdeti csomagokat

A Memcached fordítása előtt telepítenie kell a szükséges összeállítási függőségeket. Telepítésükhöz futtassa a következő parancsot:

sudo apt install build-essential libevent-dev gcc make libc6-dev

A telepített csomagok a következő célokat szolgálják:

  • gcc: Egy jól ismert C fordító a Memcached forrásfájlokhoz.
  • make: Összeállítást irányít.
  • libc6-dev: Hivatkozást biztosít a GNU C könyvtárra és a fejlécfájlokra.
  • libevent-dev: Fejlesztési fájlokat tartalmaz az aszinkron eseményértesítéshez.

Konfigurálja a telepítést

Használja a --prefix= paraméter annak a könyvtárnak a beállításához, ahová a Memcached bináris és a könyvtárak telepítésre kerülnek:

./configure --prefix=/usr/local

Memcached forráskód fordítása

Fordítsa le a Memcached forráskódot a make parancs:

make

Tesztelje a Memcachedet az aktuális verzió megerősítésével:

./memcached --version

Telepítse a Memcached-et a „make install” paranccsal

A fordítási folyamat befejezése után telepítse a Memcached programot a következő parancs futtatásával:

sudo make install

Ez a parancs telepíti a Memcachedet a rendszerére, és elérhetővé teszi a parancssorból. Annak biztosítására, hogy a rendszer felismerje az új könyvtárakat, futtassa a következőt:

sudo ldconfig

Ellenőrizze a Memcached telepítését

A Memcached sikeres telepítésének ellenőrzéséhez futtassa a következő parancsot:

memcached -V

Ez a parancs megjeleníti a telepített Memcached verziót, megerősítve a sikeres telepítést a forráskódból.

Hozzon létre egy Systemd szolgáltatást a Memcached számára

Amikor a Memcachedet a forrásból telepíti, az nem hoz létre automatikusan rendszerszolgáltatási fájlt. A Memcached szolgáltatásként való futtatásához és kezeléséhez systemctl, létre kell hoznia egy egyéni systemd szolgáltatásfájlt a Memcached számára. Kövesse az alábbi lépéseket a szolgáltatás létrehozásához és engedélyezéséhez:

Hozzon létre egy új fájlt, melynek neve memcached.service a /etc/systemd/system könyvtárat egy választott szövegszerkesztővel. Ebben a példában azt fogjuk használni nano:

sudo nano /etc/systemd/system/memcached.service

Adja hozzá a következő tartalmat a memcached.service fájl:

[Unit]
Description=Memcached Service
After=network.target

[Service]
Type=simple
User=memcache
Group=memcache
ExecStart=/usr/local/bin/memcached /etc/memcached.conf
Restart=always

[Install]
WantedBy=multi-user.target

Mentse el a fájlt, és lépjen ki a szövegszerkesztőből.

Hozzon létre a memcache felhasználó és csoport a szolgáltatás biztonságos futtatásához:

sudo useradd -r -s /sbin/nologin -U -M memcache

Töltse be újra a rendszerkonfigurációt az új szolgáltatásfájl felismeréséhez:

sudo systemctl daemon-reload

Végül indítsa el a szolgáltatást:

sudo systemctl enable memcached --now

Memcached szolgáltatás állapotának kezelése

Ez a rész a Memcached szolgáltatás kezelésével foglalkozik a Debian rendszeren. Ez magában foglalja a szolgáltatás állapotának ellenőrzését, a szolgáltatás elindítását és leállítását, valamint a rendszerindításkor való futásra való konfigurálást.

Ellenőrizze a Memcached szolgáltatás állapotát

Alapértelmezés szerint a Memcachednek futnia kell a telepítés után. Állapotának ellenőrzéséhez használja a systemctl parancsot a következőképpen:

systemctl status memcached

Ez a parancs megjeleníti a Memcached szolgáltatás aktuális állapotát.

Indítsa el a Memcached szolgáltatást

Ha a Memcached nem fut, a szolgáltatást a következő paranccsal indíthatja el:

sudo systemctl start memcached

Engedélyezze a Memcachedet a rendszerindításkor

Annak biztosítására, hogy a Memcached szolgáltatás automatikusan elinduljon a rendszer indításakor, használja a következő parancsot:

sudo systemctl enable memcached

Állítsa le a Memcached szolgáltatást

Ha le kell állítania a Memcached szolgáltatást, használja ezt a parancsot:

sudo systemctl stop memcached

A Memcached letiltása a rendszerindításkor

Ha meg szeretné akadályozni, hogy a Memcached szolgáltatás automatikusan elinduljon a rendszerindításkor, futtassa a következő parancsot:

sudo systemctl disable memcached

Indítsa újra a Memcached szolgáltatást

Ha például a konfiguráció módosítása után újra kell indítania a Memcached szolgáltatást, használja ezt a parancsot:

sudo systemctl restart memcached

Ellenőrizze, hogy a Memcached figyel az alapértelmezett porton

Végül ellenőrizze, hogy a Memcached aktívan figyel a localhost-on az alapértelmezett port használatával 11211. Ennek megerősítéséhez futtassa a következő parancsot:

ps -ef | grep memcached

A kimeneten egy sornak kell megjelennie, amely jelzi, hogy a Memcached fut és figyel a megadott porton, hasonlóan a következőkhöz:

memcache    5934       1  0 09:36 ?        00:00:00 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid
root        6591    3653  0 09:55 pts/0    00:00:00 grep memcached

Konfigurálja a Memcached tippeket

Ez a rész a Memcached beállítások szerkesztésével foglalkozik memcached.conf fájlt. Megbeszéljük a hallgatási IP-cím beállítását, az UDP letiltását és az alapértelmezett memóriakiosztás megváltoztatását.

Nyissa meg a Memcached konfigurációs fájlt

Nyissa meg a Memcached konfigurációs fájlt a címen /etc/memcached.conf szövegszerkesztő segítségével, mint pl nano:

sudo nano /etc/memcached.conf

Azoknak a felhasználóknak, akik a Memcached-et forrásból fordították le, létre kell hozniuk ezt az első megnyitáskor; a fájl üres lesz az APT metódushoz képest; ezt átmásolhatja a beállítás megkezdéséhez:

# Example memcached.conf file

# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default
# Note that the daemon will grow to this size, but does not start out holding this much
# memory
-m 64

# Default port is 11211
-p 11211

# Run the daemon as a background process
-d

# Use syslog logging
-s

# Enable verbose logging
-vv

# Set the maximum number of simultaneous connections
-c 1024

Állítsa be a hallgatási IP-címet

Alapértelmezés szerint a Memcached a 127.0.0.1 IP-címet figyeli. Ellenőrizze az -l paramétert a konfigurációs fájlban, és győződjön meg róla, hogy a megfelelő IP-címre van beállítva. Ha módosítani kell az IP-címet, cserélje ki 127.0.0.1 az új IP-címmel:

-l 127.0.0.1

UDP letiltása (opcionális)

Ha nincs szüksége UDP támogatásra, javasoljuk, hogy tiltsa le. Az UDP letiltásához adja hozzá a következő sort a konfigurációs fájlhoz:

-U 0

Konfigurálja a memóriafoglalást

A Memcached alapértelmezett memóriafoglalása 64 MB, ami nem biztos, hogy elegendő nagyobb webhelyekhez. Fontolja meg a memóriafoglalás magasabb értékre állítását a Memcached maximalizálása érdekében.

A memóriafoglalás beállításához keresse meg a -m paramétert a konfigurációs fájlban, és cserélje ki az alapértelmezett értéket a kívánt mennyiségre (MB-ban). Például 2 GB memória lefoglalásához állítsa be az értéket 2000:

-m 2000

Módosítsa ezt a beállítást a szerver rendelkezésre álló memóriája és követelményei alapján.

Mentse és indítsa újra a Memcachedet

A szükséges változtatások elvégzése után a gomb megnyomásával mentse el a konfigurációs fájlt CTRL+O, utána Y, majd CTRL+X a szövegszerkesztőből való kilépéshez. Végül indítsa újra a Memcached szolgáltatást, hogy a változások életbe lépjenek:

sudo systemctl restart memcached

További memcached konfigurációs példák

A korábban tárgyalt konfigurációs lehetőségeken kívül számos más beállítás is van, amelyeket módosíthat a Memcached igényeinek megfelelő finomhangolásához. Íme néhány példa, rövid bemutatókkal együtt:

Adja meg a felhasználót és a csoportot

A Memcached egy adott felhasználó és csoport alatt fut, amelyet a -u paraméter. Például a Memcached futtatásához a memcache felhasználó, adja hozzá a következő sort a konfigurációs fájlhoz:

-u memcache

Nagy memórialapok engedélyezése

A funkció engedélyezése javíthatja a teljesítményt, ha rendszere támogatja a nagy memórialapokat. A nagy memórialapok engedélyezéséhez keresse meg a -L paramétert, és törölje a megjegyzést (távolítsa el a # a sor elején):

-L

Állítsa be a maximális elemméretet

A Memcached alapértelmezett maximális elemmérete 1 MB. A maximális tételméret növeléséhez használja a -I paramétert, majd a kívánt méretet. Ha például a maximális elemméretet 5 MB-ra szeretné beállítani, adja hozzá a következő sort a konfigurációs fájlhoz:

-I 5m

Állítsa be a szálak maximális számát

A Memcached alapértelmezés szerint négy szálat használ. A paraméter segítségével növelheti vagy csökkentheti a szálak számát a szerver képességeinek és munkaterhelésének megfelelően. Például a szálak számának 8-ra állításához adja hozzá a következő sort:

-t 8

Állítsa be az üresjárati időtúllépést

A Memcached bizonyos tétlenség után automatikusan bezárja a tétlen kapcsolatokat. A tétlenségi időkorlát módosításához használja a -o paraméter követi idle_timeout és a kívánt másodpercek számát. Ha például a tétlenségi időt 600 másodpercre (10 percre) szeretné beállítani, adja hozzá a következő sort:

-o idle_timeout=600

SASL hitelesítés engedélyezése

Engedélyezheti a SASL (Egyszerű hitelesítés és biztonsági réteg) támogatását, ha hitelesítésre van szüksége a Memcached szerver eléréséhez. A SASL engedélyezéséhez keresse meg a -S paramétert, és törölje a megjegyzést (távolítsa el a # a sor elején):

-S

Ne felejtse el mindig újraindítani a Memcached szolgáltatást a konfigurációs fájl módosítása után:

sudo systemctl restart memcached

Telepítse az UFW tűzfalat a Memcachedhez

A Memcached példány biztonsága érdekében kulcsfontosságú a tűzfalszabályok megfelelő konfigurálása. Ez a rész bemutatja, hogyan kell telepíteni és konfigurálni az Uncomplicated Firewall (UFW) megoldást a Memcached szerver biztonsága érdekében.

Ellenőrizze, hogy az UFW telepítve van-e

Először is ellenőrizzük, hogy az UFW már telepítve van-e a Debian rendszeren:

sudo ufw --version

Ha az UFW telepítve van, a verziószáma megjelenik a kimenetben. Ha nem, akkor telepítenie kell.

Telepítse az UFW-t a Debian for Memcachedre

Az UFW Debian rendszerre történő telepítéséhez futtassa a következő parancsot:

sudo apt install ufw

A telepítés befejezése után engedélyezze az UFW-t a következő paranccsal:

sudo ufw enable

Állítsa be az UFW-szabályokat a Memcached számára

Most, hogy az UFW telepítve van és engedélyezve van, engedélyezési szabályokat kell létrehoznia az 11211-es TCP-porton. A létrehozott szabályok a telepítéstől és a követelményektől függenek, függetlenül attól, hogy egyetlen IP-hálózati kapcsolatot használnak, vagy több példányt használnak egy fürthálózaton.

Példa egy IP hálózati csatlakozásra

Hozzáférés engedélyezése a Memcachedhez egy adott IP-címről:

sudo ufw allow proto tcp from <ip_address> to any port 11211

Fürt IP-hálózati kapcsolat több példányos példával

Hozzáférés engedélyezése a Memcachedhez az IP-címek alhálózatáról:

sudo ufw allow proto tcp from <ip_address>/24 to any port 11211

Vegye figyelembe, hogy a második UFW-szabály egy alhálózati szabály. A hozzáférés engedélyezése előtt győződjön meg arról, hogy a belső hálózat biztonságos és megbízható.

4. lépés: Ellenőrizze az UFW-szabályokat

A megfelelő szabályok beállítása után ellenőrizze, hogy azok megfelelően vannak-e konfigurálva az aktuális UFW-szabályok felsorolásával:

sudo ufw status

A kimenetnek meg kell jelennie a konfigurált szabályoknak, biztosítva, hogy a Memcached példány UFW-vel védett legyen.

Telepítse a Memcached Libraries alkalmazást

A Memcached bővítményeket kínál különféle programozási nyelvekhez, de leggyakrabban PHP-vel használják. Ez a rész végigvezeti Önt a Memcached könyvtárak PHP, Python és Perl számára telepítésén, valamint a Memcached Apache és Nginx webszerverekhez való konfigurálásán.

Telepítse a PHP könyvtárakat a Memcachedhez

A Memcached PHP könyvtárának telepítéséhez futtassa a következő parancsot:

sudo apt install php-memcached libapache2-mod-php php php-cli

A Memcached beállítása az Apache HTTP-kiszolgálóhoz

Ha az Apache HTTP-kiszolgálót használja, engedélyezze a Memcached modult a következő parancs végrehajtásával:

sudo phpenmod memcached && sudo systemctl restart apache2

A Memcached konfigurálása az Nginx HTTP-kiszolgálóhoz

A memcached támogatás alapértelmezés szerint engedélyezve lesz a PHP konfigurációs blokkjában, amint a PHP könyvtár telepítve van az Nginx felhasználók számára.

Az alábbiakban egy egyszerű nginx szerverblokk példája látható:

server {
    listen 80;
    server_name example.com;

    root /var/www/example.com;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

Telepítse a Python Library for Memcached programot

A Python Memcached támogatásának telepítéséhez futtassa a következő parancsot:

sudo apt install python3-pymemcache

Telepítse a Perl Library for Memcached programot

A Memcached Perl támogatásának telepítéséhez hajtsa végre a következő parancsot:

sudo apt install libcache-memcached-libmemcached-perl

Hozzáférés a Memcachedhez a parancssorból

A Memcached különféle szoftvereken és webes felhasználói felületeken keresztül figyelhető és kezelhető. Mindazonáltal a Memcached parancssor segítségével történő közvetlen interakciója gyakran a legegyszerűbb módszer a teljesítmény ellenőrzésére és a tartalmának kezelésére.

Először csatlakozzon a Memcached szolgáltatáshoz a Telnet segítségével:

telnet localhost 11211

Példa kimenet:

127.0.0.1 próbálkozás... Csatlakozva a localhosthoz. Az Escape karakter '^]'.

Ezután a következő paranccsal áttekintést kaphat a Memcached szolgáltatásáról:

stats

Ez a parancs különféle statisztikákat ad vissza a Memcached példányról, például az üzemidőt, a gyorsítótár elemeinek számát és az ügyfélkapcsolatok számát.

Finomíthatja az elemzést a Memcached táblák (memóriapartíciók) vizsgálatával. Például listázhatja a csatlakoztatott példány födémeit a következővel:

stats slabs

És szerezze be a födémek listáját, beleértve az egyes födémekben tárolt elemek számát, a következő használatával:

stats items

A Memcachedben tárolt adatok eléréséhez és kezeléséhez használhatja a cachedump parancsot a kulcsok listázásához. Egy adott tábla összes elemének listázásához hajtsa végre a következő parancsot:

stats cachedump [slab ID] [number of items, 0 for all items]

Például:

stats cachedump 1 0

Példa kimenet:

ITEM tesztkulcs [9 b; 1296857316 s] VÉGE

Ebben a példában az 1. födém egy elemet tartalmaz a „tesztkulcs” kulccsal. Az elem értékének lekéréséhez használja a get parancs:

get testkey

Példa kimenet:

VALUE tesztkulcs 0 9 tesztadatok VÉGE

Végül a gyorsítótárazott elem, például a „tesztkulcs” törléséhez használja a következő parancsot:

delete testkey

Példa kimenet:

TÖRÖLVE

Következtetés

Összefoglalva, a Memcached telepítése és konfigurálása Debian Linux rendszeren jelentősen javíthatja webalkalmazásai teljesítményét azáltal, hogy gyors, hatékony és könnyen használható gyorsítótárat biztosít. Az ebben az útmutatóban leírt lépéseket követve sikeresen beállíthatja a Memcached szolgáltatást, konfigurálhatja a kívánt webszerverrel, és biztonságossá teheti az UFW használatával. Megfelelő konfigurációval és kezeléssel a Memcached elengedhetetlenné válhat az alkalmazások optimalizálásához és a jobb felhasználói élmény biztosításához.

Joshua James

Szólj hozzá!