Sådan installeres Memcached på Debian 12, 11 eller 10

Brad Fitzpatrick udviklede Memcached i 2003 til LiveJournal-webstedet som et kraftfuldt, open source-cachesystem til at forbedre ydeevnen af ​​dynamiske webapplikationer ved at reducere databasebelastningen. Siden da er det blevet afgørende for mange websteder og applikationer med høj trafik. Før vi installerer Memcached på Debian 12 Bookworm, Debian 11 Bullseye eller Debian 10 Buster, lad os undersøge nogle nøglepunkter om Memcached nedenfor.

Nøglefunktioner og fordele:

  • Skalerbarhed: Memcached, der håndterer millioner af operationer i sekundet, er ideel til store webapplikationer og tjenester.
  • Distribueret cachelagring: Med en distribueret cache-arkitektur tillader Memcached horisontal skalering på tværs af flere servere, hvilket udvider den samlede cachekapacitet.
  • Opbevaring i hukommelsen: Som et nøgleværdilager i hukommelsen sikrer Memcached hurtig adgang til cachelagrede data, hvilket reducerer latenstiden betydeligt i diskbaserede lagersystemer.
  • Simpel API: Memcached giver en ligetil API, der understøtter forskellige programmeringssprog, herunder PHP, Python, Ruby og andre.
  • Cache-udløb: Systemet gør det muligt for udviklere at indstille udløbstider for cachelagrede data, hvilket letter den automatiske fjernelse af forældede eller forældede data fra cachen.
  • Letvægt: Med minimal CPU og hukommelsesomkostninger kører Memcached effektivt på forskellige serverkonfigurationer uden at dræne systemressourcerne væsentligt.
  • Fleksible datatyper: Memcached rummer forskellige datatyper, såsom strenge, heltal og komplekse objekter, hvilket gør det alsidigt til forskellige brugssager.

Følgende guide vil lede dig gennem installationsprocessen af ​​Memcached på Debian ved hjælp af to metoder: Debians standardlager til den mest stabile version eller download og kompilering af den seneste binære version for dem, der foretrækker at arbejde med den nyeste version.

Metode 1: Installer Memcached via Default APT Repository

I dette afsnit vil vi installere Memcached på dit Debian Linux-system ved hjælp af APT-pakkehåndteringen. Dette involverer opdatering af dine systempakker og installation af Memcached med nogle nyttige værktøjer.

Opdater dit Debian-system før Memcached-installation

For at sikre, at du har de seneste pakkeversioner og sikkerhedsopdateringer, skal du starte med at opdatere dit Debian-system. Kør følgende kommando:

sudo apt update && sudo apt upgrade

Denne kommando vil opdatere din pakkeliste og opgradere forældede pakker til deres nyeste versioner.

Installer Memcached og Libmemcached-værktøjer

Debian inkluderer Memcached i dets standardlagre, hvilket gør installationen enkel. For at installere Memcached skal du køre følgende kommando:

sudo apt install memcached libmemcached-tools

Denne kommando installerer både Memcached og libmemcached-tools pakke. Det libmemcached-tools pakken indeholder yderligere kommandolinjeværktøjer, der muliggør flere interaktions- og administrationsmuligheder med Memcached.

Metode 2: Installer Memcached via kilde

Dette afsnit dækker installation af Memcached på dit Debian-system ved at kompilere det fra kildekoden. Installation fra kilden kan være en fordel, hvis du vil bruge den nyeste version af Memcached eller tilpasse buildet til specifikke krav.

Download Memcached-kilden

Besøg først Memcached seneste udgivelsesside for at finde den aktuelle version. Brug følgende wget kommando for at downloade det direkte:

wget https://memcached.org/latest

Udpak Memcached kildearkiv

Udtræk derefter den downloadede kildekode ved at køre følgende kommando:

tar -xvf latest

Før du fortsætter, skal du navigere til den udpakkede mappe. Biblioteksnavnet afhænger af den downloadede version:

cd memcached-{place version number here}

Erstatte {version_number} med det faktiske versionsnummer.

Installer indledende pakker, der kræves for at kompilere Memcached

Før du kompilerer Memcached, skal du installere de nødvendige build-afhængigheder. Kør følgende kommando for at installere dem:

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

De installerede pakker tjener følgende formål:

  • gcc: En velkendt C-compiler til Memcached-kildefilerne.
  • make: Styrer kompilering.
  • libc6-dev: Giver en reference til GNU C-biblioteket og header-filer.
  • libevent-dev: Indeholder udviklingsfiler til asynkron hændelsesmeddelelse.

Konfigurer installationen

Brug --prefix= parameter for at indstille den mappe, hvor Memcached binær og biblioteker vil blive installeret:

./configure --prefix=/usr/local

Kompiler Memcached kildekode

Kompiler den Memcached-kildekode med make kommando:

make

Test Memcached ved at bekræfte den aktuelle version:

./memcached --version

Installer Memcached via kommandoen 'make install'

Når kompileringsprocessen er færdig, skal du installere Memcached ved at køre følgende kommando:

sudo make install

Denne kommando installerer Memcached på dit system, hvilket gør det tilgængeligt fra kommandolinjen. For at sikre, at systemet genkender de nye biblioteker, skal du køre følgende:

sudo ldconfig

Bekræft installationen af ​​Memcached

For at bekræfte, at Memcached er installeret korrekt, skal du køre følgende kommando:

memcached -V

Denne kommando viser den installerede Memcached-version, hvilket bekræfter den vellykkede installation fra kildekoden.

Opret en Systemd Service til Memcached

Når du installerer Memcached fra kilden, opretter den ikke automatisk en systemd servicefil. At køre Memcached som en tjeneste og administrere den ved hjælp af systemctl, skal du oprette en brugerdefineret systemd-tjenestefil til Memcached. Følg disse trin for at oprette og aktivere tjenesten:

Opret en ny fil kaldet memcached.service i /etc/systemd/system mappe ved hjælp af en teksteditor efter eget valg. I dette eksempel vil vi bruge nano:

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

Tilføj følgende indhold til 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

Gem filen og afslut teksteditoren.

Lave en memcache bruger og gruppe for at køre tjenesten sikkert:

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

Genindlæs systemd-konfigurationen for at genkende den nye servicefil:

sudo systemctl daemon-reload

Start endelig tjenesten:

sudo systemctl enable memcached --now

Håndtering af Memcached Service Status

Dette afsnit vil dække administration af Memcached-tjenesten på dit Debian-system. Dette omfatter kontrol af tjenestestatus, start og stop af tjenesten og konfiguration af den til at køre ved systemstart.

Tjek Memcached Service Status

Som standard skal Memcached køre efter installationen. For at bekræfte dens status skal du bruge systemctl kommando som følger:

systemctl status memcached

Denne kommando viser den aktuelle status for Memcached-tjenesten.

Start Memcached-tjenesten

Hvis Memcached ikke kører, kan du starte tjenesten med følgende kommando:

sudo systemctl start memcached

Aktiver Memcached på systemstarten

For at sikre, at Memcached-tjenesten starter automatisk, når dit system starter, skal du bruge følgende kommando:

sudo systemctl enable memcached

Stop Memcached-tjenesten

Hvis du skal stoppe Memcached-tjenesten, skal du bruge denne kommando:

sudo systemctl stop memcached

Deaktiver Memcached på systemstarten

For at forhindre, at Memcached-tjenesten starter automatisk ved systemstart, skal du køre følgende kommando:

sudo systemctl disable memcached

Genstart Memcached-tjenesten

Hvis du har brug for at genstarte Memcached-tjenesten, for eksempel efter at have foretaget konfigurationsændringer, skal du bruge denne kommando:

sudo systemctl restart memcached

Bekræft, at Memcached lytter på standardporten

Til sidst skal du kontrollere, at Memcached aktivt lytter på den lokale vært ved hjælp af standardporten 11211. For at bekræfte dette skal du køre følgende kommando:

ps -ef | grep memcached

Outputtet skal vise en linje, der angiver, at Memcached kører og lytter på den angivne port, svarende til følgende:

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

Konfigurer Memcached Tips

Dette afsnit vil dække konfiguration af Memcached-indstillingerne ved at redigere memcached.conf fil. Vi vil diskutere justering af den lyttende IP-adresse, deaktivering af UDP og ændring af standardhukommelsesallokeringen.

Åbn Memcached Configuration File

Åbn Memcached-konfigurationsfilen på /etc/memcached.conf ved hjælp af en teksteditor, som f.eks nano:

sudo nano /etc/memcached.conf

Brugere, der kompilerede Memcached fra kilden, skal oprette dette, så når du åbner det første gang; filen vil være tom sammenlignet med APT-metoden; du kan kopiere dette for at komme i gang med at justere:

# 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

Juster den lyttende IP-adresse

Som standard lytter Memcached til IP-adressen 127.0.0.1. Kontroller parameteren -l i konfigurationsfilen, og sørg for, at den er indstillet til den korrekte IP-adresse. Hvis du har brug for at ændre IP-adressen, skal du udskifte den 127.0.0.1 med den nye IP-adresse:

-l 127.0.0.1

Deaktiver UDP (valgfrit)

Hvis du ikke har brug for UDP-understøttelse, anbefales det at deaktivere den. For at deaktivere UDP skal du tilføje følgende linje til konfigurationsfilen:

-U 0

Konfigurer hukommelsestildelingen

Standardhukommelsestildelingen for Memcached er 64MB, hvilket muligvis ikke er tilstrækkeligt til større websteder. Overvej at justere hukommelsesallokeringen til en højere værdi for at maksimere Memcached.

For at indstille hukommelsesallokeringen skal du finde -m parameter i konfigurationsfilen og erstatte standardværdien med den ønskede mængde (i MB). For at tildele 2 GB hukommelse skal du f.eks. indstille værdien til 2000:

-m 2000

Juster denne indstilling baseret på din servers tilgængelige hukommelse og krav.

Gem og genstart Memcached

Efter at have foretaget de nødvendige ændringer skal du gemme konfigurationsfilen ved at trykke på CTRL+O, efterfulgt af Y, og så CTRL+X for at afslutte teksteditoren. Til sidst skal du genstarte Memcached-tjenesten for at ændringerne træder i kraft:

sudo systemctl restart memcached

Yderligere Memcached-konfigurationseksempler

Ud over de konfigurationsmuligheder, der er dækket tidligere, er der flere andre indstillinger, som du kan justere for at finjustere Memcached i henhold til dine krav. Her er nogle eksempler sammen med korte demonstrationer:

Angiv brugeren og gruppen

Memcached kører under en specifik bruger og gruppe angivet ved hjælp af -u parameter. For eksempel at køre Memcached som memcache bruger, skal du tilføje følgende linje til konfigurationsfilen:

-u memcache

Aktiver store hukommelsessider

Aktivering af denne funktion kan forbedre ydeevnen, hvis dit system understøtter store hukommelsessider. For at aktivere store hukommelsessider skal du finde -L parameter og fjern kommentaren (fjern # i begyndelsen af ​​linjen):

-L

Konfigurer den maksimale varestørrelse

Memcached har en standard maksimal elementstørrelse på 1 MB. For at øge den maksimale varestørrelse skal du bruge -I parameter efterfulgt af den ønskede størrelse. For at indstille den maksimale varestørrelse til 5 MB, skal du tilføje følgende linje til konfigurationsfilen:

-I 5m

Indstil det maksimale antal tråde

Memcached bruger fire tråde som standard. Du kan bruge parameteren til at øge eller mindske antallet af tråde i henhold til din servers muligheder og arbejdsbelastning. For at indstille antallet af tråde til 8, skal du tilføje følgende linje:

-t 8

Konfigurer inaktiv timeout

Memcached lukker automatisk inaktive forbindelser efter en vis periode med inaktivitet. For at ændre inaktiv timeout skal du bruge -o parameter efterfulgt af idle_timeout og det ønskede antal sekunder. For at indstille inaktiv timeout til 600 sekunder (10 minutter) skal du tilføje følgende linje:

-o idle_timeout=600

Aktiver SASL-godkendelse

Du kan aktivere SASL-understøttelse (Simple Authentication and Security Layer), hvis du har brug for godkendelse for at få adgang til din Memcached-server. For at aktivere SASL skal du finde -S parameter og fjern kommentaren (fjern # i begyndelsen af ​​linjen):

-S

Husk altid at genstarte Memcached-tjenesten efter at have foretaget ændringer i konfigurationsfilen:

sudo systemctl restart memcached

Installer UFW Firewall til Memcached

For at sikre sikkerheden for din Memcached-instans er det afgørende at konfigurere dine firewallregler korrekt. Dette afsnit vil dække, hvordan du installerer og konfigurerer Uncomplicated Firewall (UFW) for at sikre din Memcached-server.

Tjek om UFW er installeret

Lad os først kontrollere, om UFW allerede er installeret på dit Debian-system:

sudo ufw --version

Hvis UFW er installeret, vil du se dets versionsnummer i outputtet. Hvis ikke, skal du installere det.

Installer UFW på Debian til Memcached

For at installere UFW på dit Debian-system skal du køre følgende kommando:

sudo apt install ufw

Når installationen er færdig, skal du aktivere UFW med følgende kommando:

sudo ufw enable

Konfigurer UFW-regler for Memcached

Nu hvor UFW er installeret og aktiveret, skal du oprette tilladelsesregler på TCP-port 11211. De regler, du opretter, afhænger af din installation og dine krav, uanset om du bruger en enkelt IP-netværksforbindelse eller arbejder med flere forekomster i et klyngenetværk.

Eksempel på en enkelt IP-netværksforbindelse

Tillad adgang til Memcached fra en specifik IP-adresse:

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

Klynge IP-netværksforbindelse med flere forekomster eksempel

Tillad adgang til Memcached fra et undernet af IP-adresser:

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

Bemærk, at den anden UFW-regel er en undernetregel. Sørg for, at det interne netværk er sikkert og troværdigt, før du tillader adgang.

Trin 4: Bekræft UFW-regler

Efter opsætning af de relevante regler skal du kontrollere, at de er korrekt konfigureret ved at angive de aktuelle UFW-regler:

sudo ufw status

Outputtet skal vise dine konfigurerede regler, hvilket sikrer, at din Memcached-instans er sikret med UFW.

Installer Memcached Libraries

Memcached tilbyder udvidelser til forskellige programmeringssprog, men det bruges mest med PHP. Dette afsnit vil guide dig gennem installation af Memcached-biblioteker til PHP, Python og Perl og konfiguration af Memcached til Apache- og Nginx-webservere.

Installer PHP-biblioteker til Memcached

For at installere PHP-biblioteket til Memcached skal du køre følgende kommando:

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

Konfigurer Memcached til Apache HTTP Server

Hvis du bruger Apache HTTP-serveren, skal du aktivere Memcached-modulet ved at udføre følgende kommando:

sudo phpenmod memcached && sudo systemctl restart apache2

Konfigurer Memcached til Nginx HTTP Server

Memcached-understøttelse vil blive aktiveret som standard i din PHP-konfigurationsblok, når PHP-biblioteket er installeret for Nginx-brugere.

Nedenfor er et simpelt eksempel på nginx-serverblok:

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

Installer Python Library til Memcached

For at installere Python-understøttelse til Memcached skal du køre følgende kommando:

sudo apt install python3-pymemcache

Installer Perl Library til Memcached

For at installere Perl-understøttelse til Memcached skal du udføre følgende kommando:

sudo apt install libcache-memcached-libmemcached-perl

Få adgang til Memcached fra kommandolinjen

Memcached kan overvåges og administreres gennem forskellige software- og webbrugergrænseflader. Men at interagere direkte med Memcached ved hjælp af kommandolinjen er ofte den mest ligetil metode til at kontrollere dens ydeevne og administrere dens indhold.

Først skal du oprette forbindelse til din Memcached-tjeneste ved hjælp af telnet:

telnet localhost 11211

Eksempel output:

Prøver 127.0.0.1... Forbundet til localhost. Escape-tegn er '^]'.

Dernæst kan du få et overblik over din Memcached-tjeneste med følgende kommando:

stats

Denne kommando vil returnere forskellige statistikker om din Memcached-instans, såsom oppetid, antallet af elementer i cachen og antallet af klientforbindelser.

Du kan forfine din analyse ved at undersøge Memcached plader (hukommelsespartitioner). For eksempel kan du liste pladerne i den tilsluttede instans med:

stats slabs

Og få en liste over plader, inklusive en optælling af de genstande, der er gemt i hver plade, ved hjælp af:

stats items

For at få adgang til og manipulere data, der er gemt i Memcached, kan du bruge cachedump kommando for at vise tasterne. For at liste alle elementer i en specifik plade skal du udføre følgende kommando:

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

For eksempel:

stats cachedump 1 0

Eksempel output:

ITEM testnøgle [9 b; 1296857316 s] SLUT

I dette eksempel indeholder plade 1 et emne med nøglen "testnøgle". For at hente værdien af ​​denne vare skal du bruge get kommando:

get testkey

Eksempel output:

VÆRDI testtast 0 9 testdata SLUT

Til sidst, for at slette et cachelagret element, såsom "testkey", skal du bruge følgende kommando:

delete testkey

Eksempel output:

SLETTEDE

Konklusion

Afslutningsvis kan installation og konfiguration af Memcached på Debian Linux forbedre ydeevnen af ​​dine webapplikationer betydeligt ved at levere et hurtigt, effektivt og brugervenligt cachesystem. Ved at følge de trin, der er beskrevet i denne vejledning, kan du med succes opsætte Memcached, konfigurere den med din foretrukne webserver og sikre den ved hjælp af UFW. Med den korrekte konfiguration og styring kan Memcached blive afgørende for at optimere dine applikationer og give en bedre brugeroplevelse.

Joshua James
Følg mig
Seneste indlæg af Joshua James (se alt)

Skriv en kommentar