Hur man installerar och konfigurerar Memcached på AlmaLinux 8

memcached används för att snabba upp dynamiska databasdrivna webbplatser genom att cachelagra data och objekt i RAM. Detta minskar antalet gånger en extern datakälla måste läsas, vilket minskar omkostnader och snabbar upp svarstider. Programvaran för minnescache är ett gratis projekt med öppen källkod som alla kan använda.

I slutet av handledningen kommer du att veta hur du installerar och konfigurerar Memcached på ditt Almalinux 8 operativsystem.

Förutsättningar

  • Rekommenderat OS: Alma Linux 8.
  • Användarkonto: Ett användarkonto med sudo privilegier or root access (su kommando).

Uppdaterar operativsystem

Uppdatera din SoulLinux operativsystem för att se till att alla befintliga paket är uppdaterade:

sudo dnf upgrade --refresh -y

Handledningen kommer att använda sudo kommando och förutsatt att du har sudo-status.

Så här verifierar du sudo-status på ditt konto:

sudo whoami

Exempel på utdata som visar sudo-status:

[joshua@localhost ~]$ sudo whoami
root

För att konfigurera ett befintligt eller nytt sudo-konto, besök vår handledning på Hur man lägger till en användare till Sudoers på AlmaLinux.

Att använda root-konto, använd följande kommando med root-lösenordet för att logga in.

su

Installera Memcached

Som standard har AlmaLinux Memcached i sin appström. För att installera Memcached, skriv in följande kommando:

sudo dnf install memcached libmemcached

Exempel utmatning:

Hur man installerar och konfigurerar Memcached på AlmaLinux 8

Typ Y, tryck sedan på ENTER-TANGENT för att fortsätta med installationen.

Observera att det andra installationsalternativet, "libmemcachad”-paketet, ger ytterligare kommandon för att ge extra interaktion och exekveringsförmågor till Memcached.

Kontrollera sedan att Memcached har installerats korrekt genom att verifiera dess version och build

memcached --version

Exempel utmatning:

memcached 1.5.22

Tjänsten kommer som standard inte att vara aktiv. För att starta Memcached med följande kommando:

sudo systemctl enable memcached --now

Memcached ska vara aktiverat som standard. För att verifiera detta, använd systemctl status kommando enligt följande:

systemctl status memcached

Exempel utmatning:

Hur man installerar och konfigurerar Memcached på AlmaLinux 8

Andra användbara kommandon för att hantera Memcached-tjänsten är följande:

Så här aktiverar du Memcached-tjänsten vid systemstart:

sudo systemctl enable memcached

Så här stoppar du Memcached-tjänsten:

sudo systemctl stop memcached

Så här inaktiverar du Memcached-tjänsten vid systemstart:

sudo systemctl disable memcached

Så här startar du om Memcached-tjänsten:

sudo systemctl restart memcached

Kontrollera sedan att Memcached aktivt lyssnar på localhost som standard port 11211. För att bekräfta denna typ, gör följande:

ps -ef | grep memcached

Exempel utmatning:

memcach+   27220       1  0 22:24 ?        00:00:00 /usr/bin/memcached -p 11211 -u memcached -m 2000 -c 2000 -l 127.0.0.1 -U 0
joshua     29536   25923  0 22:52 pts/0    00:00:00 grep --color=auto memcached

Konfigurera Memcached

Memcached måste lyssna på 127.0.0.1. Öppna standardinställningen i konfigurationsfilen som finns på "/etc/sysconfig/memcached".

sudo nano /etc/sysconfig/memcached

Det första alternativet är att ändra det traditionella portnumret för Memcached.

11211

Om du har detta portnummer och har befintliga brandväggsregler måste de uppdateras. Helst kan detta lämnas som standard.

Det andra alternativet är att ändra maxanslutningarna till något högre om ditt system kan hantera det.

MAXCONN="2000"

Maxanslutningarna bör ökas långsamt och testas. Sätt inte för högt.

Ändra sedan standardstorleken på 64 MB cache till en storlek som du tror att din cache kommer att ha lite andrum.

Exempel på ändring till 2GB:

CACHESIZE="2000"

Om din server har gott om resurser räcker vilket antal som helst, men var försiktig och ställ in dig inom dina gränser om du är på en budgetvärd.

Scrolla nu ner och hitta följande rad och kontrollera "-l" parameter som finns.

Härifrån kan du lämna localhost eller ange en intern eller extern IP-adress. Du kan också lägga till ytterligare alternativ som kommer att beskrivas nedan.

-l 127.0.0.1

Den första extra flaggan är att inaktivera UDP om det inte krävs.

-U 0

En översikt över handledningen för hur din installation kan se ut när den är klar.

Endast exempel:

Hur man installerar och konfigurerar Memcached på AlmaLinux 8

Spara nu filen CTRL + O och slå "Y," sedan CTRL + X för att avsluta och starta om din Memcached-instans.

sudo systemctl restart memcached

Konfigurera brandvägg för Memcached

Som standard är inga regler inställda för Memcached. Det betyder att du måste skapa tillåtelseregler som är avgörande för att stoppa attacker. Underlåtenhet att säkra Memcached kommer att leda till problem längre fram, så hoppa inte över detta om du inte har andra sätt att skydda din installation.

Lägg först till en ny dedikerad zon för Memcached-brandväggspolicy:

sudo firewall-cmd --permanent --new-zone=memcached

Ange sedan de tillåtna IP-adresserna som är tillåtna att komma åt Memcached.

sudo firewall-cmd --permanent --zone=memcached --add-source=1.2.3.4

Ersätt 1.2.3.4 med IP adress som kommer att läggas till tillåtslistan.

När du har lagt till IP-adresserna, öppna porten för Memcached.

Som standard är detta TCP-port 11211.

sudo firewall-cmd --permanent --zone=memcached --add-port=11211/tcp

Observera att du kan ändra standardporten i din konfigurationsfil om du ändrar regeln för öppen brandväggsport ovan till det nya värdet.

När du har kört dessa kommandon laddar du om brandväggen för att implementera de nya reglerna:

sudo firewall-cmd --reload

Exempel på utdata om framgångsrikt:

success

Installera Memcached PHP Libraries

Memcached kommer med olika tillägg för programmeringsspråken, men det används främst för PHP. Emellertid behöver Almalinux några ytterligare förråd installerade för att hämta dessa paket från eftersom de inte finns med i standardappströmmen.

Installera först EPEL och Remi PHP-förvaret.

sudo dnf install epel-release -y
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y

Aktivera sedan PHP-modulen du använder för närvarande. Några exempel finns nedan.

PHP 8.0:

sudo dnf module enable php:remi-8.0 -y

PHP 7.4:

sudo dnf module enable php:remi-7.4 -y

Installera sedan Memcached PHP-stöd med följande kommando.

sudo dnf install php-pecl-memcache php-pecl-memcached

Exempel utmatning:

Hur man installerar och konfigurerar Memcached på AlmaLinux 8

Typ Y, tryck sedan på ENTER-TANGENT för att fortsätta med installationen.

Dessutom, för Memcached-stöd med Python, kan du installera följande paket med hjälp av PIP-biblioteket.

pip3 install pymemcache --user
pip3 install python-memcached --user

Åtkomst till Memcached från kommandoraden

Memcachad statistik kan samlas in av mycket extra programvara och WEB-gränssnitt som den fungerar tillsammans med. Ett bättre sätt att kontrollera är dock att interagera med Memcached direkt med hjälp av kommandoraden.

Först, TELNET till din tjänst:

telnet localhost 11211

Exempel utmatning:

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Observera, om Telnet inte är installerat, kör följande kommando för att installera.

sudo dnf install telnet -y

Observera att TELNET aldrig ska tillåtas att kommunicera med ett offentligt nätverk och begränsas i privata nätverksmiljöer.

Därefter kan du få en översikt över din Memcached-tjänst genom att använda följande kommando:

stats

Exempel utmatning:

STAT pid 5934
STAT uptime 1275
STAT time 1631930242
STAT version 1.6.9
STAT libevent 2.1.12-stable
STAT pointer_size 64
STAT rusage_user 0.113635
STAT rusage_system 0.000000
STAT max_connections 1024
STAT curr_connections 1
STAT total_connections 2
STAT rejected_connections 0
STAT connection_structures 2
STAT response_obj_oom 0
STAT response_obj_count 1
STAT response_obj_bytes 16384
STAT read_buf_count 2
STAT read_buf_bytes 32768
STAT read_buf_bytes_free 0
STAT read_buf_oom 0
STAT reserved_fds 20
STAT cmd_get 0
STAT cmd_set 0
STAT cmd_flush 0
STAT cmd_touch 0
STAT cmd_meta 0
STAT get_hits 0
STAT get_misses 0
STAT get_expired 0
STAT get_flushed 0
STAT delete_misses 0
STAT delete_hits 0
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 7
STAT bytes_written 0
STAT limit_maxbytes 67108864
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT time_in_listen_disabled_us 0
STAT threads 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT slab_reassign_rescues 0
STAT slab_reassign_chunk_rescues 0
STAT slab_reassign_evictions_nomem 0
STAT slab_reassign_inline_reclaim 0
STAT slab_reassign_busy_items 0
STAT slab_reassign_busy_deletes 0
STAT slab_reassign_running 0
STAT slabs_moved 0
STAT lru_crawler_running 0
STAT lru_crawler_starts 6
STAT lru_maintainer_juggles 1325
STAT malloc_fails 0
STAT log_worker_dropped 0
STAT log_worker_written 0
STAT log_watcher_skipped 0
STAT log_watcher_sent 0
STAT unexpected_napi_ids 0
STAT round_robin_fallback 0
STAT bytes 0
STAT curr_items 0
STAT total_items 0
STAT slab_global_page_pool 0
STAT expired_unfetched 0
STAT evicted_unfetched 0
STAT evicted_active 0
STAT evictions 0
STAT reclaimed 0
STAT crawler_reclaimed 0
STAT crawler_items_checked 0
STAT lrutail_reflocked 0
STAT moves_to_cold 0
STAT moves_to_warm 0
STAT moves_within_lru 0
STAT direct_reclaims 0
STAT lru_bumps_dropped 0
END

Som ovan visar detta några avgörande saker du kanske vill se, såsom drifttid, antal objekt i cachen och antalet klientanslutningar till instansen

Du kan förfina sökningen genom att titta på de olika Memcachade skivorna (partitionerna) i minnet för att returnera resultat.

Exempel nedan:

Lista plattorna i den anslutna instansen:

stats slabs

Lista över plattor som inkluderar en räkning av de föremål som lagras inom varje platta:

stats items

Därefter kan du komma åt och radera data med hjälp av kommandot cachedump för att lista nycklarna.

Kör först kommandot cachedump:

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

Exempel i aktion:

stats cachedump 1 0

Exempel utmatning:

ITEM testkey [9 b; 1296857316 s]
END

Som ovan har SLAB 1 ett föremål med nyckeln "testnyckel." För att få det faktiska värdet kan du använda "få nyckel" kommando enligt följande:

get testkey

Exempel utmatning:

VALUE testkey 0 9
test data
END

Slutligen, för att ta bort ett cachelagrat objekt, i det här fallet "testnyckel" använd följande kommando:

delete testkey

Exempel utmatning:

DELETED

Hur man tar bort (avinstallera) Memcached

För att ta bort Memcached, använd följande kommando i din terminal.

sudo dnf autoremove memcached libmemcached

Detta kommer att ta bort Memcached från ditt system omedelbart.

Kommentarer och slutsats

Handledningen har visat dig hur du installerar Memcached på ditt Almalinux 8 operativsystem, installerar de extra biblioteken och hur du kommer åt terminalens kommandolista.

För ytterligare dokumentation, projektets Github Wiki sidan förklarar mer detaljerat för serveradministratörer alla specifikationer eller information de behöver.


Inte vad du letade efter? Försök att söka efter ytterligare tutorials.

Lämna en kommentar