Ki jan yo enstale ak konfigirasyon Memcached sou AlmaLinux 8

Memcached yo itilize pou akselere sit entènèt dinamik ki baze sou baz done ak kachèt done ak objè nan RAM. Sa a diminye kantite fwa yo dwe li yon sous done ekstèn, sa ki diminye depans anlè epi akselere tan repons yo. Lojisyèl kachèt memwa a se yon pwojè gratis, sous louvri ke nenpòt moun ka itilize.

Nan fen leson patikilye a, ou pral konnen ki jan yo enstale ak konfigirasyon Memcached sou sistèm operasyon Almalinux 8 ou a.

Kondisyon

  • OS rekòmande: AlmaLinux 8.
  • Kont itilizatè: Yon kont itilizatè ak sudo privilèj or aksè rasin (su kòmand).

Mete ajou sistèm operasyon

Mete ajou ou AlmaLinux sistèm operasyon pou asire tout pakè ki egziste deja yo ajou:

sudo dnf upgrade --refresh -y

Tutorial la pral sèvi ak la sudo kòmand ak sipoze ou gen estati sudo.

Pou verifye estati sudo sou kont ou:

sudo whoami

Egzanp pwodiksyon ki montre estati sudo:

[joshua@localhost ~]$ sudo whoami
root

Pou mete kanpe yon kont sudo ki deja egziste oswa nouvo, vizite leson patikilye nou an sou Ki jan yo ajoute yon itilizatè nan Sudoers sou AlmaLinux.

Pou itilize kont rasin, sèvi ak lòd sa a ak modpas rasin lan pou konekte.

su

reklam


Enstale Memcached

Pa default, AlmaLinux gen Memcached nan kouran App li yo. Pou enstale Memcached, antre lòd sa a:

sudo dnf install memcached libmemcached

Egzanp pwodiksyon:

Ki jan yo enstale ak konfigirasyon Memcached sou AlmaLinux 8

Kalite Y, Lè sa a, peze ANTRE KLE kontinye ak enstalasyon an.

Remake byen, dezyèm opsyon enstalasyon an, "libmemcached” pake, bay kòmandman adisyonèl pou pote entèraksyon siplemantè ak egzekite kapasite nan Memcached.

Apre sa, verifye Memcached te enstale kòrèkteman pa verifye vèsyon li yo ak bati

memcached --version

Egzanp pwodiksyon:

memcached 1.5.22

Sèvis la, pa default, pa pral aktif. Pou kòmanse Memcached lè l sèvi avèk lòd sa a:

sudo systemctl enable memcached --now

Memcached ta dwe aktive pa default. Pou verifye sa, sèvi ak la kòmand estati systemctl jan sa a:

systemctl status memcached

Egzanp pwodiksyon:

Ki jan yo enstale ak konfigirasyon Memcached sou AlmaLinux 8

Lòt kòmandman itil pou jere sèvis Memcached la se jan sa a:

Pou pèmèt sèvis Memcached sou bòt sistèm lan:

sudo systemctl enable memcached

Pou sispann sèvis Memcached la:

sudo systemctl stop memcached

Pou enfim sèvis Memcached sou bòt sistèm lan:

sudo systemctl disable memcached

Pou rekòmanse sèvis Memcached la:

sudo systemctl restart memcached

Apre sa, verifye Memcached ap koute aktivman localhost sou default la pò 11211. Pou konfime kalite sa a, sa ki annapre yo:

ps -ef | grep memcached

Egzanp pwodiksyon:

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

Konfigirasyon Memcached

Memcached dwe koute 127.0.0.1. Louvri paramèt defo a nan fichye konfigirasyon ki sitiye nan "/etc/sysconfig/memcached".

sudo nano /etc/sysconfig/memcached

Premye opsyon a se chanje nimewo pò tradisyonèl la pou Memcached.

11211

Si ou gen nimewo pò sa a epi ou gen règ firewall ki egziste deja, yo pral bezwen mete ajou. Idealman, sa a ka kite kòm default.

Dezyèm opsyon an se chanje koneksyon max yo nan yon bagay yon ti kras pi wo si sistèm ou a ka okipe li.

MAXCONN="2000"

Koneksyon max yo ta dwe ogmante dousman epi teste. Pa mete twò wo.

Apre sa, chanje gwosè kachèt default 64MB a nan yon gwosè ou kwè ke kachèt ou a pral gen kèk espas pou l respire.

Egzanp pou chanje a 2GB:

CACHESIZE="2000"

Si sèvè ou a gen anpil resous, nenpòt ki kantite ap fè, men fè atansyon epi mete nan limit ou si ou se sou yon lame bidjè.

Koulye a, desann epi jwenn liy sa a epi tcheke la "-l" paramèt ki egziste.

Soti isit la, ou ka kite localhost la oswa presize yon adrès IP entèn oswa ekstèn. Epitou, ou ka ajoute opsyon adisyonèl ki pral dekri anba a.

-l 127.0.0.1

Premye drapo adisyonèl la se enfim UDP si li pa nesesè.

-U 0

Yon apèsi sou leson patikilye a ki jan konfigirasyon ou a ka sanble yon fwa fini.

Egzanp sèlman:

Ki jan yo enstale ak konfigirasyon Memcached sou AlmaLinux 8

Koulye a sove fichye a CTRL + O ak frape "Y," lè sa a, Ctrl + X pou sòti epi rekòmanse egzanp Memcached ou a.

sudo systemctl restart memcached

reklam


Konfigure Firewalld pou Memcached

Pa default, pa gen okenn règ yo mete kanpe pou Memcached. Sa vle di ou pral bezwen kreye règ pèmèt ki esansyèl pou sispann atak yo. Si w pa sekirize Memcached, sa pral lakòz pwoblèm desann, kidonk pa sote sa sof si ou gen lòt mwayen pou pwoteje enstalasyon w la.

Premyèman, ajoute yon nouvo zòn dedye pou politik firewalld Memcached:

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

Apre sa, presize adrès IP ki pèmèt yo gen aksè a Memcached la.

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

Ranplase 1.2.3.4 ak IP la adrès ki pral ajoute nan lis la pèmèt.

Yon fwa ou fin ajoute adrès IP yo, louvri pò Memcached la.

Pa default, sa a se TCP pò 11211.

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

Remake byen, ou ka chanje pò a default nan fichye konfigirasyon ou a si ou chanje règ la pò pare-feu louvri pi wo a nan nouvo valè a.

Apre w fin kouri kòmandman sa yo, rechaje firewall la pou aplike nouvo règ yo:

sudo firewall-cmd --reload

Egzanp pwodiksyon si siksè:

success

Enstale Bibliyotèk PHP Memcached

Memcached vini ak ekstansyon divès kalite pou lang yo pwogramasyon, men li se sitou itilize pou PHP la. Sepandan, Almalinux bezwen kèk depo adisyonèl enstale pou rale pakè sa yo paske yo pa prezante sou kouran App default la.

Premyèman, enstale depo EPEL ak Remi PHP.

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

Apre sa, pèmèt modil PHP w ap itilize kounye a. Gen kèk egzanp ki anba a.

PHP 8.0:

sudo dnf module enable php:remi-8.0 -y

PHP 7.4:

sudo dnf module enable php:remi-7.4 -y

Apre sa, enstale Memcached PHP sipò lè l sèvi avèk lòd sa a.

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

Egzanp pwodiksyon:

Ki jan yo enstale ak konfigirasyon Memcached sou AlmaLinux 8

Kalite Y, Lè sa a, peze ANTRE KLE kontinye ak enstalasyon an.

Anplis de sa, pou sipò Memcached ak Python, ou ka enstale pakè sa yo lè l sèvi avèk bibliyotèk PIP la.

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

reklam


Aksè Memcached nan Liy Kòmand

Statistik Memcached yo ka rasanble pa anpil lojisyèl adisyonèl ak UI WEB ke li travay ansanm ak. Sepandan, yon pi bon fason pou tcheke se kominike avèk Memcached dirèkteman lè l sèvi avèk liy lòd la.

Premyèman, TELNET nan sèvis ou:

telnet localhost 11211

Egzanp pwodiksyon:

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

Remake byen, si Telnet pa enstale, kouri lòd sa a pou enstale.

sudo dnf install telnet -y

Remake byen, TELNET pa ta dwe janm gen dwa kominike nan yon rezo piblik ak restriksyon nan anviwònman rezo prive.

Apre sa, ou ka jwenn yon apèsi sou sèvis Memcached ou lè w sèvi ak lòd sa a:

stats

Egzanp pwodiksyon:

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

Kòm pi wo a, sa a montre kèk bagay enpòtan ou ka vle wè, tankou disponiblite, kantite atik nan kachèt la, ak kantite koneksyon kliyan ak egzanp lan.

Ou ka rafine rechèch la lè w gade diferan plak Memcached (patisyon) memwa pou retounen rezilta yo.

Egzanp anba a:

Lis dal yo nan egzanp ki konekte:

stats slabs

Lis dal ki gen ladann yon konte atik ki estoke nan chak dal:

stats items

Apre sa, ou ka jwenn aksè ak efase done lè l sèvi avèk la lòd cachedump pou lis kle yo.

Premyèman, egzekite a lòd cachedump:

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

Egzanp nan aksyon:

stats cachedump 1 0

Egzanp pwodiksyon:

ITEM testkey [9 b; 1296857316 s]
END

Kòm pi wo a, SLAB 1 gen yon atik ak kle a "Kle tès." Pou jwenn valè aktyèl la, ou ka itilize "jwenn kle" kòmandman jan sa a:

get testkey

Egzanp pwodiksyon:

VALUE testkey 0 9
test data
END

Anfen, efase yon atik nan kachèt, nan ka sa a, la "testkey" sèvi ak kòmandman sa a:

delete testkey

Egzanp pwodiksyon:

DELETED

Ki jan yo retire (dezinstalle) Memcached

Pou retire Memcached, sèvi ak lòd sa a nan tèminal ou a.

sudo dnf autoremove memcached libmemcached

Sa a pral retire Memcached nan sistèm ou an imedyatman.


reklam


Kòmantè ak konklizyon

Leson patikilye a te montre w kouman enstale Memcached sou sistèm operasyon Almalinux 8 ou a, enstale bibliyotèk adisyonèl yo ak kijan pou w jwenn aksè nan lis kòmand tèminal la.

Pou plis dokiman, pwojè a Github Wiki paj eksplike plis an detay pou admin sèvè nenpòt espesifikasyon oswa enfòmasyon yo bezwen.

Leave a Comment