Hoe Memcached te installeren op Debian 12, 11 of 10

Brad Fitzpatrick ontwikkelde Memcached in 2003 voor de LiveJournal-website als een krachtig, open-source cachingsysteem om de prestaties van dynamische webapplicaties te verbeteren door de databasebelasting te verminderen. Sindsdien is het van vitaal belang geworden voor veel websites en applicaties met veel verkeer. Voordat we Memcached installeren op Debian 12 Bookworm, Debian 11 Bullseye of Debian 10 Buster, bekijken we hieronder enkele belangrijke punten over Memcached.

Belangrijkste kenmerken en voordelen:

  • Schaalbaarheid: Memcached, dat miljoenen bewerkingen per seconde verwerkt, is ideaal voor grootschalige webapplicaties en -services.
  • Gedistribueerde caching: Met een gedistribueerde caching-architectuur maakt Memcached horizontale schaling over meerdere servers mogelijk, waardoor de algehele cachecapaciteit wordt uitgebreid.
  • Opslag in geheugen: Als sleutelwaardeopslag in het geheugen zorgt Memcached voor snelle toegang tot gegevens in de cache, waardoor de latentie in schijfgebaseerde opslagsystemen aanzienlijk wordt verminderd.
  • Eenvoudige API: Memcached biedt een eenvoudige API die verschillende programmeertalen ondersteunt, waaronder PHP, Python, Ruby en andere.
  • Cache-vervaldatum: Met het systeem kunnen ontwikkelaars vervaltijden instellen voor gegevens in de cache, waardoor de automatische verwijdering van verouderde of verouderde gegevens uit de cache wordt vergemakkelijkt.
  • Lichtgewicht: Met minimale CPU- en geheugenoverhead draait Memcached efficiënt op verschillende serverconfiguraties zonder de systeembronnen aanzienlijk uit te putten.
  • Flexibele gegevenstypen: Memcached biedt plaats aan verschillende gegevenstypen, zoals tekenreeksen, gehele getallen en complexe objecten, waardoor het veelzijdig is voor uiteenlopende gebruiksscenario's.

De volgende gids leidt u door het installatieproces van Memcached op Debian met behulp van twee methoden: de standaard Debian-repository voor de meest stabiele versie of het downloaden en compileren van het nieuwste binaire bestand voor degenen die liever met de nieuwste versie werken.

Methode 1: Installeer Memcached via de standaard APT-repository

In deze sectie zullen we Memcached op uw Debian Linux-systeem installeren met behulp van de APT-pakketbeheerder. Dit omvat het bijwerken van uw systeempakketten en het installeren van Memcached met enkele handige hulpmiddelen.

Update uw Debian-systeem vóór de Memcached-installatie

Om er zeker van te zijn dat u over de nieuwste pakketversies en beveiligingsupdates beschikt, begint u met het updaten van uw Debian-systeem. Voer de volgende opdracht uit:

sudo apt update && sudo apt upgrade

Met deze opdracht wordt uw pakketlijst bijgewerkt en worden verouderde pakketten geüpgraded naar hun nieuwste versies.

Installeer Memcached en Libmemcached-tools

Debian neemt Memcached op in zijn standaardrepository's, waardoor de installatie eenvoudig wordt. Om Memcached te installeren, voert u de volgende opdracht uit:

sudo apt install memcached libmemcached-tools

Met deze opdracht worden zowel Memcached als de libmemcached-tools pakket. De libmemcached-tools pakket biedt extra opdrachtregelhulpprogramma's die meer interactie- en beheermogelijkheden met Memcached mogelijk maken.

Methode 2: Installeer Memcached via de broncode

In deze sectie wordt de installatie van Memcached op uw Debian-systeem besproken door het vanuit de broncode te compileren. Installeren vanaf de broncode kan nuttig zijn als u de nieuwste versie van Memcached wilt gebruiken of de build wilt aanpassen aan specifieke vereisten.

Download de opgeslagen bron

Bezoek eerst de Memcached nieuwste releasepagina om de huidige versie te vinden. Gebruik het volgende wget commando om het direct te downloaden:

wget https://memcached.org/latest

Pak het opgeslagen bronarchief uit

Pak vervolgens de gedownloade broncode uit door de volgende opdracht uit te voeren:

tar -xvf latest

Voordat u doorgaat, navigeert u naar de uitgepakte map. De mapnaam is afhankelijk van de gedownloade versie:

cd memcached-{place version number here}

Vervangen {version_number} met het daadwerkelijke versienummer.

Installeer de initiële pakketten die nodig zijn om Memcached te compileren

Voordat u Memcached compileert, moet u de benodigde build-afhankelijkheden installeren. Voer de volgende opdracht uit om ze te installeren:

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

De geïnstalleerde pakketten dienen de volgende doeleinden:

  • gcc: Een bekende C-compiler voor de Memcached-bronbestanden.
  • make: Regisseert de compilatie.
  • libc6-dev: Biedt een verwijzing naar de GNU C-bibliotheek en headerbestanden.
  • libevent-dev: bevat ontwikkelingsbestanden voor asynchrone gebeurtenismelding.

Configureer de installatie

Gebruik de --prefix= parameter om de map in te stellen waar Memcached binary en bibliotheken zullen worden geïnstalleerd:

./configure --prefix=/usr/local

Compileer de opgeslagen broncode

Compileer de Memcached-broncode met de make commando:

make

Test Memcached door de huidige versie te bevestigen:

./memcached --version

Installeer Memcached via de opdracht 'make install'

Zodra het compilatieproces is voltooid, installeert u Memcached door de volgende opdracht uit te voeren:

sudo make install

Met deze opdracht wordt Memcached op uw systeem geïnstalleerd, waardoor het toegankelijk wordt vanaf de opdrachtregel. Om ervoor te zorgen dat het systeem de nieuwe bibliotheken herkent, voert u het volgende uit:

sudo ldconfig

Controleer de installatie van Memcached

Om te controleren of Memcached succesvol is geïnstalleerd, voert u de volgende opdracht uit:

memcached -V

Met deze opdracht wordt de geïnstalleerde Memcached-versie weergegeven, waarmee de succesvolle installatie vanuit de broncode wordt bevestigd.

Maak een Systemd-service voor Memcached

Wanneer u Memcached vanaf de bron installeert, wordt er niet automatisch een systemd-servicebestand gemaakt. Om Memcached als een service uit te voeren en te beheren met behulp van systemctl, moet u een aangepast systemd-servicebestand voor Memcached maken. Volg deze stappen om de service te maken en in te schakelen:

Maak een nieuw bestand met de naam memcached.service in de /etc/systemd/system directory met behulp van een teksteditor naar keuze. In dit voorbeeld gebruiken we nano:

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

Voeg de volgende inhoud toe aan het memcached.service bestand:

[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

Sla het bestand op en sluit de teksteditor af.

Maak een memcache gebruiker en groep om de service veilig uit te voeren:

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

Laad de systemd-configuratie opnieuw om het nieuwe servicebestand te herkennen:

sudo systemctl daemon-reload

Start ten slotte de service:

sudo systemctl enable memcached --now

Beheer van de opgeslagen servicestatus

In deze sectie wordt het beheer van de Memcached-dienst op uw Debian-systeem besproken. Dit omvat het controleren van de servicestatus, het starten en stoppen van de service en het configureren ervan om te worden uitgevoerd bij het opstarten van het systeem.

Controleer de opgeslagen servicestatus

Standaard zou Memcached actief moeten zijn na de installatie. Om de status ervan te verifiëren, gebruikt u de systemctl opdracht als volgt:

systemctl status memcached

Met deze opdracht wordt de huidige status van de Memcached-service weergegeven.

Start de Memcached-service

Als Memcached niet actief is, kunt u de service starten met het volgende commando:

sudo systemctl start memcached

Schakel Memcached in tijdens het opstarten van het systeem

Om ervoor te zorgen dat de Memcached-service automatisch start wanneer uw systeem opstart, gebruikt u de volgende opdracht:

sudo systemctl enable memcached

Stop de Memcached-service

Als u de Memcached-service wilt stoppen, gebruikt u deze opdracht:

sudo systemctl stop memcached

Schakel Memcached uit tijdens het opstarten van het systeem

Om te voorkomen dat de Memcached-service automatisch start bij het opstarten van het systeem, voert u de volgende opdracht uit:

sudo systemctl disable memcached

Start de Memcached-service opnieuw

Als u de Memcached-service opnieuw moet starten, bijvoorbeeld nadat u configuratiewijzigingen hebt aangebracht, gebruikt u deze opdracht:

sudo systemctl restart memcached

Controleer of Memcached luistert op de standaardpoort

Controleer ten slotte of Memcached actief luistert op de localhost via de standaardpoort 11211. Om dit te bevestigen, voert u de volgende opdracht uit:

ps -ef | grep memcached

De uitvoer moet een regel weergeven die aangeeft dat Memcached actief is en luistert op de opgegeven poort, vergelijkbaar met het volgende:

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

Configureer opgeslagen tips

In deze sectie wordt het configureren van de Memcached-instellingen besproken door het bewerken van de memcached.conf bestand. We bespreken het aanpassen van het luisterende IP-adres, het uitschakelen van UDP en het wijzigen van de standaard geheugentoewijzing.

Open het opgeslagen configuratiebestand

Open het Memcached-configuratiebestand op /etc/memcached.conf met behulp van een teksteditor, zoals nano:

sudo nano /etc/memcached.conf

Gebruikers die Memcached vanuit de broncode hebben gecompileerd, moeten dit aanmaken, dus wanneer u het voor het eerst opent; het bestand zal leeg zijn vergeleken met de APT-methode; je kunt dit kopiëren om aan de slag te gaan met het aanpassen:

# 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

Pas het luister-IP-adres aan

Standaard luistert Memcached naar IP-adres 127.0.0.1. Controleer de parameter -l in het configuratiebestand en zorg ervoor dat deze op het juiste IP-adres is ingesteld. Als u het IP-adres moet wijzigen, vervangt u 127.0.0.1 met het nieuwe IP-adres:

-l 127.0.0.1

UDP uitschakelen (optioneel)

Als u geen UDP-ondersteuning nodig heeft, is het raadzaam deze uit te schakelen. Om UDP uit te schakelen, voegt u de volgende regel toe aan het configuratiebestand:

-U 0

Configureer de geheugentoewijzing

De standaardgeheugentoewijzing voor Memcached is 64 MB, wat mogelijk niet voldoende is voor grotere websites. Overweeg om de geheugentoewijzing aan te passen naar een hogere waarde om Memcached te maximaliseren.

Om de geheugentoewijzing in te stellen, zoekt u de -m parameter in het configuratiebestand en vervang de standaardwaarde door de gewenste hoeveelheid (in MB). Als u bijvoorbeeld 2 GB geheugen wilt toewijzen, stelt u de waarde in op 2000:

-m 2000

Pas deze instelling aan op basis van het beschikbare geheugen en de vereisten van uw server.

Opslaan en opnieuw opstarten in Memcached

Nadat u de nodige wijzigingen heeft aangebracht, slaat u het configuratiebestand op door op te drukken CTRL+O, gevolgd door Y, en dan CTRL+X om de teksteditor te verlaten. Start ten slotte de Memcached-service opnieuw op om de wijzigingen door te voeren:

sudo systemctl restart memcached

Aanvullende Memcached-configuratievoorbeelden

Naast de eerder besproken configuratieopties zijn er verschillende andere instellingen die u kunt aanpassen om Memcached te verfijnen volgens uw vereisten. Hier zijn enkele voorbeelden, samen met korte demonstraties:

Geef de gebruiker en groep op

Memcached wordt uitgevoerd onder een specifieke gebruiker en groep die is opgegeven met behulp van de -u parameter. Als u bijvoorbeeld Memcached wilt uitvoeren als memcache user, voeg de volgende regel toe aan het configuratiebestand:

-u memcache

Schakel grote geheugenpagina's in

Als u deze functie inschakelt, kunnen de prestaties verbeteren als uw systeem grote geheugenpagina's ondersteunt. Om grote geheugenpagina's in te schakelen, zoekt u de -L parameter en verwijder het commentaar (verwijder de # aan het begin van de regel):

-L

Configureer de maximale artikelgrootte

Memcached heeft standaard een maximale itemgrootte van 1 MB. Om de maximale itemgrootte te vergroten, gebruikt u de -I parameter gevolgd door de gewenste grootte. Als u bijvoorbeeld de maximale itemgrootte wilt instellen op 5 MB, voegt u de volgende regel toe aan het configuratiebestand:

-I 5m

Stel het maximale aantal threads in

Memcached gebruikt standaard vier threads. U kunt de parameter gebruiken om het aantal threads te verhogen of te verlagen, afhankelijk van de mogelijkheden en werklast van uw server. Als u bijvoorbeeld het aantal threads op 8 wilt instellen, voegt u de volgende regel toe:

-t 8

Configureer de time-out voor inactiviteit

Memcached sluit inactieve verbindingen automatisch af na een bepaalde periode van inactiviteit. Om de time-out voor inactiviteit te wijzigen, gebruikt u de -o parameter gevolgd door idle_timeout en het gewenste aantal seconden. Als u bijvoorbeeld de time-out voor inactiviteit wilt instellen op 600 seconden (10 minuten), voegt u de volgende regel toe:

-o idle_timeout=600

Schakel SASL-authenticatie in

U kunt SASL-ondersteuning (Simple Authentication and Security Layer) inschakelen als u authenticatie nodig heeft om toegang te krijgen tot uw Memcached-server. Om SASL in te schakelen, zoekt u de -S parameter en verwijder het commentaar (verwijder de # aan het begin van de regel):

-S

Vergeet niet om de Memcached-service altijd opnieuw te starten nadat u wijzigingen in het configuratiebestand hebt aangebracht:

sudo systemctl restart memcached

Installeer UFW Firewall voor Memcached

Om de veiligheid van uw Memcached-instantie te garanderen, is het van cruciaal belang om uw firewallregels correct te configureren. In dit gedeelte wordt beschreven hoe u de Uncomplicated Firewall (UFW) installeert en configureert om uw Memcached-server te beveiligen.

Controleer of UFW is geïnstalleerd

Laten we eerst verifiëren of UFW al op uw Debian-systeem is geïnstalleerd:

sudo ufw --version

Als UFW is geïnstalleerd, ziet u het versienummer ervan in de uitvoer. Als dit niet het geval is, moet u het installeren.

Installeer UFW op Debian voor Memcached

Om UFW op uw Debian-systeem te installeren, voert u de volgende opdracht uit:

sudo apt install ufw

Nadat de installatie is voltooid, schakelt u UFW in met de volgende opdracht:

sudo ufw enable

Configureer UFW-regels voor Memcached

Nu UFW is geïnstalleerd en ingeschakeld, moet u regels voor het toestaan ​​van TCP-poort 11211 maken. De regels die u maakt, zijn afhankelijk van uw installatie en vereisten, of u nu een enkele IP-netwerkverbinding gebruikt of met meerdere instanties in een clusternetwerk werkt.

Voorbeeld van een enkele IP-netwerkverbinding

Sta toegang tot Memcached toe vanaf een specifiek IP-adres:

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

Voorbeeld van een cluster-IP-netwerkverbinding met meerdere exemplaren

Sta toegang tot Memcached toe vanaf een subnet met IP-adressen:

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

Houd er rekening mee dat de tweede UFW-regel een subnetregel is. Zorg ervoor dat het interne netwerk veilig en betrouwbaar is voordat u toegang verleent.

Stap 4: Controleer de UFW-regels

Nadat u de juiste regels heeft ingesteld, controleert u of ze correct zijn geconfigureerd door de huidige UFW-regels op te sommen:

sudo ufw status

De uitvoer moet uw geconfigureerde regels weergeven, zodat uw Memcached-instantie is beveiligd met UFW.

Installeer opgeslagen bibliotheken

Memcached biedt extensies voor verschillende programmeertalen, maar wordt het meest gebruikt met PHP. In deze sectie wordt u begeleid bij het installeren van Memcached-bibliotheken voor PHP, Python en Perl en bij het configureren van Memcached voor Apache- en Nginx-webservers.

Installeer PHP-bibliotheken voor Memcached

Om de PHP-bibliotheek voor Memcached te installeren, voert u de volgende opdracht uit:

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

Configureer Memcached voor Apache HTTP-server

Als u de Apache HTTP Server gebruikt, schakelt u de Memcached-module in door de volgende opdracht uit te voeren:

sudo phpenmod memcached && sudo systemctl restart apache2

Configureer Memcached voor Nginx HTTP-server

Memcached-ondersteuning wordt standaard ingeschakeld binnen uw PHP-configuratieblok zodra de PHP-bibliotheek is geïnstalleerd voor Nginx-gebruikers.

Hieronder ziet u een eenvoudig voorbeeld van een 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;
    }
}

Installeer Python Library voor Memcached

Voer de volgende opdracht uit om Python-ondersteuning voor Memcached te installeren:

sudo apt install python3-pymemcache

Installeer Perl-bibliotheek voor Memcached

Om Perl-ondersteuning voor Memcached te installeren, voert u de volgende opdracht uit:

sudo apt install libcache-memcached-libmemcached-perl

Toegang tot Memcached vanaf de opdrachtregel

Memcached kan worden gemonitord en beheerd via verschillende software- en webgebruikersinterfaces. Rechtstreekse interactie met Memcached via de opdrachtregel is echter vaak de meest eenvoudige methode om de prestaties ervan te controleren en de inhoud ervan te beheren.

Maak eerst verbinding met uw Memcached-service via telnet:

telnet localhost 11211

Voorbeelduitvoer:

Ik probeer 127.0.0.1... Verbonden met localhost. Escape-teken is '^]'.

Vervolgens kunt u met het volgende commando een overzicht krijgen van uw Memcached-service:

stats

Deze opdracht retourneert verschillende statistieken over uw Memcached-instantie, zoals uptime, het aantal items in de cache en het aantal clientverbindingen.

U kunt uw analyse verfijnen door Memcached-platen (geheugenpartities) te onderzoeken. U kunt bijvoorbeeld de platen in het verbonden exemplaar weergeven met:

stats slabs

En verkrijg een lijst met platen, inclusief een telling van de items die in elke plaat zijn opgeslagen, met behulp van:

stats items

Om toegang te krijgen tot gegevens die zijn opgeslagen in Memcached en deze te manipuleren, kunt u de cachedump opdracht om de sleutels weer te geven. Om alle items in een specifieke plaat weer te geven, voert u de volgende opdracht uit:

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

Bijvoorbeeld:

stats cachedump 1 0

Voorbeelduitvoer:

ITEM-testsleutel [9 b; 1296857316 s] EINDE

In dit voorbeeld bevat plaat 1 één item met de sleutel “testkey”. Om de waarde van dit item op te halen, gebruikt u de get commando:

get testkey

Voorbeelduitvoer:

WAARDE testsleutel 0 9 testgegevens EINDE

Om ten slotte een item in de cache, zoals “testkey”, te verwijderen, gebruikt u de volgende opdracht:

delete testkey

Voorbeelduitvoer:

VERWIJDERD

Conclusie

Concluderend kan het installeren en configureren van Memcached op Debian Linux de prestaties van uw webapplicaties aanzienlijk verbeteren door een snel, efficiënt en gemakkelijk te gebruiken cachingsysteem te bieden. Door de stappen in deze handleiding te volgen, kunt u Memcached met succes instellen, configureren met uw favoriete webserver en beveiligen met UFW. Met de juiste configuratie en beheer kan Memcached essentieel worden voor het optimaliseren van uw applicaties en het bieden van een betere gebruikerservaring.

Joshua James
Volg mij
Laatste berichten van Joshua James (alles zien)

Plaats een reactie