Hur man installerar Memcached på Debian 12, 11 eller 10

Brad Fitzpatrick utvecklade Memcached 2003 för LiveJournals webbplats som ett kraftfullt cachesystem med öppen källkod för att förbättra prestandan hos dynamiska webbapplikationer genom att minska databasbelastningen. Sedan dess har det blivit viktigt för många webbplatser och applikationer med hög trafik. Innan vi installerar Memcached på Debian 12 Bookworm, Debian 11 Bullseye eller Debian 10 Buster, låt oss undersöka några nyckelpunkter om Memcached nedan.

Nyckelfunktioner och fördelar:

  • Skalbarhet: Memcached, som hanterar miljontals operationer per sekund, är idealiskt för storskaliga webbapplikationer och tjänster.
  • Distribuerad cachelagring: Med en distribuerad cachningsarkitektur tillåter Memcached horisontell skalning över flera servrar, vilket utökar den totala cachekapaciteten.
  • Lagring i minnet: Som ett nyckel-värdelager i minnet säkerställer Memcached snabb åtkomst till cachad data, vilket avsevärt minskar latensen i diskbaserade lagringssystem.
  • Enkelt API: Memcached tillhandahåller ett enkelt API som stöder olika programmeringsspråk, inklusive PHP, Python, Ruby och andra.
  • Cache utgång: Systemet gör det möjligt för utvecklare att ställa in utgångstider för cachelagrade data, vilket underlättar automatisk borttagning av inaktuella eller inaktuella data från cachen.
  • Lättvikt: Med minimala CPU- och minneskostnader, körs Memcached effektivt på olika serverkonfigurationer utan att tömma systemresurserna nämnvärt.
  • Flexibla datatyper: Memcached rymmer olika datatyper, såsom strängar, heltal och komplexa objekt, vilket gör den mångsidig för olika användningsfall.

Följande guide kommer att leda dig genom installationsprocessen av Memcached på Debian med två metoder: Debians standardförråd för den mest stabila versionen eller nedladdning och kompilering av den senaste binära versionen för de som föredrar att arbeta med den senaste versionen.

Metod 1: Installera Memcached via Default APT Repository

I det här avsnittet kommer vi att installera Memcached på ditt Debian Linux-system med hjälp av APT-pakethanteraren. Detta innebär att du uppdaterar dina systempaket och installerar Memcached med några användbara verktyg.

Uppdatera ditt Debian-system innan Memcached installation

För att säkerställa att du har de senaste paketversionerna och säkerhetsuppdateringarna, börja med att uppdatera ditt Debiansystem. Kör följande kommando:

sudo apt update && sudo apt upgrade

Detta kommando kommer att uppdatera din paketlista och uppgradera föråldrade paket till deras senaste versioner.

Installera Memcached och Libmemcached-verktyg

Debian inkluderar Memcached i sina standardförråd, vilket gör installationen enkel. För att installera Memcached, kör följande kommando:

sudo apt install memcached libmemcached-tools

Detta kommando installerar både Memcached och libmemcached-tools paket. De libmemcached-tools paketet innehåller ytterligare kommandoradsverktyg som möjliggör fler interaktions- och hanteringsmöjligheter med Memcached.

Metod 2: Installera Memcached via källan

Det här avsnittet täcker installationen av Memcached på ditt Debiansystem genom att kompilera det från källkoden. Att installera från källan kan vara fördelaktigt om du vill använda den senaste versionen av Memcached eller anpassa byggnaden för specifika krav.

Ladda ner Memcached-källan

Besök först Memcached senaste releasesidan för att hitta den aktuella versionen. Använd följande wget kommando för att ladda ner det direkt:

wget https://memcached.org/latest

Extrahera Memcached källarkiv

Extrahera sedan den nedladdade källkoden genom att köra följande kommando:

tar -xvf latest

Innan du fortsätter, navigera till den extraherade katalogen. Katalognamnet beror på den nedladdade versionen:

cd memcached-{place version number here}

Byta ut {version_number} med det faktiska versionsnumret.

Installera initiala paket som krävs för att kompilera Memcached

Innan du kompilerar Memcached måste du installera de nödvändiga byggberoendena. Kör följande kommando för att installera dem:

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

De installerade paketen tjänar följande syften:

  • gcc: En välkänd C-kompilator för Memcached-källfilerna.
  • make: Dirigerar kompilering.
  • libc6-dev: Ger en referens till GNU C-biblioteket och rubrikfiler.
  • libevent-dev: Innehåller utvecklingsfiler för asynkron händelseavisering.

Konfigurera installationen

Använd --prefix= parameter för att ställa in katalogen där Memcached binär och bibliotek kommer att installeras:

./configure --prefix=/usr/local

Kompilera Memcached källkod

Kompilera den Memcachade källkoden med make kommando:

make

Testa Memcached genom att bekräfta den aktuella versionen:

./memcached --version

Installera Memcached via kommandot 'make install'

När kompileringsprocessen är klar, installera Memcached genom att köra följande kommando:

sudo make install

Detta kommando installerar Memcached på ditt system, vilket gör det tillgängligt från kommandoraden. För att säkerställa att systemet känner igen de nya biblioteken, kör följande:

sudo ldconfig

Verifiera installationen av Memcached

För att verifiera att Memcached har installerats, kör följande kommando:

memcached -V

Detta kommando kommer att visa den installerade Memcached-versionen, vilket bekräftar att installationen lyckades från källkoden.

Skapa en Systemd-tjänst för Memcached

När du installerar Memcached från källan skapas inte automatiskt en systemd servicefil. Att köra Memcached som en tjänst och hantera den med hjälp av systemctlmåste du skapa en anpassad systemd-tjänstfil för Memcached. Följ dessa steg för att skapa och aktivera tjänsten:

Skapa en ny fil som heter memcached.service i /etc/systemd/system katalog med en textredigerare som du väljer. I det här exemplet kommer vi att använda nano:

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

Lägg till följande innehåll till memcached.service fil:

[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

Spara filen och avsluta textredigeraren.

Skapa en memcache användare och grupp för att köra tjänsten säkert:

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

Ladda om systemd-konfigurationen för att känna igen den nya tjänstefilen:

sudo systemctl daemon-reload

Slutligen, starta tjänsten:

sudo systemctl enable memcached --now

Hantera status för Memcachad tjänst

Det här avsnittet kommer att täcka hanteringen av Memcached-tjänsten på ditt Debiansystem. Detta inkluderar att kontrollera tjänstens status, starta och stoppa tjänsten och konfigurera den så att den körs vid systemstart.

Kontrollera status för Memcached Service

Som standard ska Memcached köras efter installationen. För att verifiera dess status, använd systemctl kommando enligt följande:

systemctl status memcached

Detta kommando visar den aktuella statusen för Memcached-tjänsten.

Starta Memcached-tjänsten

Om Memcached inte körs kan du starta tjänsten med följande kommando:

sudo systemctl start memcached

Aktivera Memcached vid systemstarten

För att säkerställa att Memcached-tjänsten startar automatiskt när ditt system startar, använd följande kommando:

sudo systemctl enable memcached

Stoppa Memcached-tjänsten

Om du behöver stoppa Memcached-tjänsten, använd det här kommandot:

sudo systemctl stop memcached

Inaktivera Memcached vid systemstart

För att förhindra att Memcached-tjänsten startar automatiskt vid systemstart, kör följande kommando:

sudo systemctl disable memcached

Starta om Memcached-tjänsten

Om du behöver starta om Memcached-tjänsten, till exempel efter att ha gjort konfigurationsändringar, använd det här kommandot:

sudo systemctl restart memcached

Verifiera att Memcached lyssnar på standardporten

Slutligen, verifiera att Memcached aktivt lyssnar på den lokala värden med standardporten 11211. För att bekräfta detta, kör följande kommando:

ps -ef | grep memcached

Utdata ska visa en rad som indikerar att Memcached körs och lyssnar på den angivna porten, liknande följande:

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

Konfigurera Memcached Tips

Det här avsnittet kommer att täcka konfigurering av Memcached-inställningarna genom att redigera memcached.conf fil. Vi kommer att diskutera att justera den lyssnande IP-adressen, inaktivera UDP och ändra standardminnestilldelningen.

Öppna den Memcachade konfigurationsfilen

Öppna Memcached-konfigurationsfilen som finns på /etc/memcached.conf med hjälp av en textredigerare, t.ex nano:

sudo nano /etc/memcached.conf

Användare som kompilerade Memcached från källan kommer att behöva skapa detta när du först öppnar det; filen kommer att vara tom jämfört med APT-metoden; du kan kopiera detta för att komma igång för justering:

# 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

Justera Lyssnande IP-adress

Som standard lyssnar Memcached på IP-adress 127.0.0.1. Kontrollera parametern -l i konfigurationsfilen och se till att den är inställd på rätt IP-adress. Om du behöver ändra IP-adressen, byt ut 127.0.0.1 med den nya IP-adressen:

-l 127.0.0.1

Inaktivera UDP (valfritt)

Om du inte behöver UDP-stöd rekommenderas det att du inaktiverar det. För att inaktivera UDP, lägg till följande rad i konfigurationsfilen:

-U 0

Konfigurera minnesallokering

Standardminnestilldelningen för Memcached är 64MB, vilket kanske inte räcker för större webbplatser. Överväg att justera minnesallokeringen till ett högre värde för att maximera Memcached.

För att ställa in minnesallokering, hitta -m parametern i konfigurationsfilen och ersätt standardvärdet med önskat belopp (i MB). För att till exempel allokera 2 GB minne ställ in värdet till 2000:

-m 2000

Justera den här inställningen baserat på din servers tillgängliga minne och krav.

Spara och starta om Memcached

När du har gjort de nödvändiga ändringarna sparar du konfigurationsfilen genom att trycka på CTRL+O, följd av Y, och då CTRL+X för att avsluta textredigeraren. Slutligen, starta om Memcached-tjänsten för att ändringarna ska träda i kraft:

sudo systemctl restart memcached

Ytterligare Memcachad konfigurationsexempel

Utöver de konfigurationsalternativ som behandlats tidigare, finns det flera andra inställningar som du kan justera för att finjustera Memcached enligt dina krav. Här är några exempel, tillsammans med korta demonstrationer:

Ange användaren och gruppen

Memcached körs under en specifik användare och grupp som anges med hjälp av -u parameter. Till exempel att köra Memcached som memcache användare lägger du till följande rad i konfigurationsfilen:

-u memcache

Aktivera stora minnessidor

Att aktivera den här funktionen kan förbättra prestandan om ditt system stöder stora minnessidor. För att aktivera stora minnessidor, hitta -L parametern och avkommentera den (ta bort # i början av raden):

-L

Konfigurera den maximala artikelstorleken

Memcached har en förinställd maximal objektstorlek på 1 MB. För att öka den maximala artikelstorleken, använd -I parameter följt av önskad storlek. För att till exempel ställa in den maximala objektstorleken till 5 MB, lägg till följande rad i konfigurationsfilen:

-I 5m

Ställ in maximalt antal trådar

Memcached använder fyra trådar som standard. Du kan använda parametern för att öka eller minska antalet trådar enligt din servers kapacitet och arbetsbelastning. Till exempel, för att ställa in antalet trådar till 8, lägg till följande rad:

-t 8

Konfigurera inaktiv timeout

Memcached stänger automatiskt lediga anslutningar efter en viss period av inaktivitet. För att ändra inaktiv timeout, använd -o parameter följt av idle_timeout och önskat antal sekunder. För att till exempel ställa in vilotiden till 600 sekunder (10 minuter), lägg till följande rad:

-o idle_timeout=600

Aktivera SASL-autentisering

Du kan aktivera SASL-stöd (Simple Authentication and Security Layer) om du behöver autentisering för att komma åt din Memcached-server. För att aktivera SASL, hitta -S parametern och avkommentera den (ta bort # i början av raden):

-S

Kom ihåg att alltid starta om Memcached-tjänsten efter att ha gjort ändringar i konfigurationsfilen:

sudo systemctl restart memcached

Installera UFW-brandväggen för Memcached

För att säkerställa säkerheten för din Memcached-instans är det viktigt att konfigurera dina brandväggsregler ordentligt. Det här avsnittet kommer att täcka hur du installerar och konfigurerar Uncomplicated Firewall (UFW) för att säkra din Memcached-server.

Kontrollera om UFW är installerat

Låt oss först verifiera om UFW redan är installerat på ditt Debiansystem:

sudo ufw --version

Om UFW är installerat kommer du att se dess versionsnummer i utgången. Om inte, måste du installera den.

Installera UFW på Debian för Memcached

För att installera UFW på ditt Debian-system, kör följande kommando:

sudo apt install ufw

När installationen är klar, aktivera UFW med följande kommando:

sudo ufw enable

Konfigurera UFW-regler för Memcached

Nu när UFW är installerat och aktiverat måste du skapa tillåtelseregler på TCP-port 11211. Reglerna du skapar beror på din installation och dina krav, oavsett om du använder en enda IP-nätverksanslutning eller arbetar med flera instanser i ett klusternätverk.

Exempel på enkel IP-nätverksanslutning

Tillåt åtkomst till Memcached från en specifik IP-adress:

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

Cluster IP-nätverksanslutning med flera instanser exempel

Tillåt åtkomst till Memcached från ett undernät av IP-adresser:

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

Observera att den andra UFW-regeln är en subnätregel. Se till att det interna nätverket är säkert och pålitligt innan du tillåter åtkomst.

Steg 4: Verifiera UFW-regler

När du har ställt in lämpliga regler, kontrollera att de är korrekt konfigurerade genom att lista de aktuella UFW-reglerna:

sudo ufw status

Utdata ska visa dina konfigurerade regler, vilket säkerställer att din Memcached-instans är säkrad med UFW.

Installera Memcached Libraries

Memcached erbjuder tillägg för olika programmeringsspråk, men det används oftast med PHP. Det här avsnittet guidar dig genom att installera Memcached-bibliotek för PHP, Python och Perl och konfigurera Memcached för Apache- och Nginx-webbservrar.

Installera PHP Libraries för Memcached

För att installera PHP-biblioteket för Memcached, kör följande kommando:

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

Konfigurera Memcached för Apache HTTP Server

Om du använder Apache HTTP-servern, aktivera Memcached-modulen genom att utföra följande kommando:

sudo phpenmod memcached && sudo systemctl restart apache2

Konfigurera Memcached för Nginx HTTP Server

Memcached-stöd kommer att aktiveras som standard i ditt PHP-konfigurationsblock när PHP-biblioteket är installerat för Nginx-användare.

Nedan är ett enkelt exempel på nginx-serverblock:

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;
    }
}

Installera Python Library för Memcached

För att installera Python-stöd för Memcached, kör följande kommando:

sudo apt install python3-pymemcache

Installera Perl Library för Memcached

För att installera Perl-stöd för Memcached, kör följande kommando:

sudo apt install libcache-memcached-libmemcached-perl

Öppna Memcached från kommandoraden

Memcached kan övervakas och hanteras genom olika programvaror och webbanvändargränssnitt. Men att interagera direkt med Memcached med hjälp av kommandoraden är ofta den enklaste metoden för att kontrollera dess prestanda och hantera dess innehåll.

Anslut först till din Memcached-tjänst med telnet:

telnet localhost 11211

Exempel på utdata:

Försöker 127.0.0.1... Ansluten till localhost. Escape-tecken är '^]'.

Därefter kan du få en översikt över din Memcached-tjänst med följande kommando:

stats

Detta kommando kommer att returnera olika statistik om din Memcached-instans, såsom drifttid, antalet objekt i cachen och antalet klientanslutningar.

Du kan förfina din analys genom att undersöka Memcached plattor (minnespartitioner). Till exempel kan du lista plattorna i den anslutna instansen med:

stats slabs

Och skaffa en lista över plattor, inklusive ett antal föremål som lagras inom varje platta, med hjälp av:

stats items

För att komma åt och manipulera data lagrad i Memcached kan du använda cachedump kommando för att lista nycklarna. För att lista alla objekt i en specifik platta, kör följande kommando:

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

Till exempel:

stats cachedump 1 0

Exempel på utdata:

ITEM testnyckel [9 b; 1296857316 s] SLUT

I det här exemplet innehåller platta 1 ett objekt med nyckeln "testkey". För att hämta värdet på denna artikel, använd get kommando:

get testkey

Exempel på utdata:

VALUE testkey 0 9 testdata END

Slutligen, för att ta bort ett cachelagrat objekt, till exempel "testnyckel", använd följande kommando:

delete testkey

Exempel på utdata:

RADERADE

Slutsats

Sammanfattningsvis kan installation och konfigurering av Memcached på Debian Linux förbättra prestandan för dina webbapplikationer avsevärt genom att tillhandahålla ett snabbt, effektivt och lättanvänt cachingsystem. Genom att följa stegen som beskrivs i den här guiden kan du framgångsrikt konfigurera Memcached, konfigurera den med din föredragna webbserver och säkra den med UFW. Med rätt konfiguration och hantering kan Memcached bli avgörande för att optimera dina applikationer och ge en bättre användarupplevelse.

Joshua James
Följ mig
Senaste inläggen av Joshua James (se alla)

Lämna en kommentar