Memcached je open source a distribuovaný systém ukládání objektů do mezipaměti, který uchovává nejčastěji dotazovaná data v paměti. To zkrátí dobu načítání dat a také zajistí snadný přístup k databázi. Memcached můžete použít k urychlení dynamických webových aplikací zmírněním zatížení databáze. Je jednoduchý, snadno se nasazuje a lze jej integrovat do několika programovacích jazyků včetně PHP, Pythonu a dalších.
V tomto tutoriálu vám ukážu, jak nainstalovat Memcached na Debian 11.
Předpoklady
- Server se systémem Debian 11.
- Na serveru je nakonfigurováno heslo uživatele root.
Instalovat Memcached na Debian 11
Ve výchozím nastavení je Memcached součástí výchozího úložiště Debian 11. Můžete jej nainstalovat spuštěním následujícího příkazu:
apt-get install memcached libmemcached-tools -y
Jakmile je Memcached nainstalován, spusťte službu Memcached a povolte její spuštění při restartu systému:
systemctl start memcached
systemctl enable memcached
Stav Memcached můžete také zkontrolovat pomocí následujícího příkazu:
systemctl status memcached
Měli byste získat následující výstup:
? memcached.service - memcached daemon Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2021-11-01 10:12:25 UTC; 14s ago Docs: man:memcached(1) Main PID: 28398 (memcached) Tasks: 10 (limit: 4679) Memory: 3.1M CPU: 28ms CGroup: /system.slice/memcached.service ??28398 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid Nov 01 10:12:25 debian11 systemd[1]: Started memcached daemon.
Ve výchozím nastavení Memcached naslouchá na portu 11211. Můžete to zkontrolovat pomocí následujícího příkazu:
ss -antpl | grep memcached
Získáte následující výstup:
LISTEN 0 1024 127.0.0.1:11211 0.0.0.0:* users:(("memcached",pid=28398,fd=26))
Konfigurovat Memcached
Výchozí konfigurační soubor Memcached se nachází na adrese /etc/memcached.conf . Můžete jej upravit pomocí následujícího příkazu:
nano /etc/memcached.conf
Některé výchozí možnosti můžete změnit podle svých požadavků:
-l 127.0.0.1 -U 0 -p 11211 -u memcache -m 2000
Uložte a zavřete soubor a restartujte službu Memcached, aby se změny projevily:
systemctl restart memcached
Povolit Memcached pro aplikace PHP a Python
Abyste mohli používat Memcached s aplikací založenou na PHP, budete muset na svůj server nainstalovat knihovnu Memcached PHP. Můžete jej nainstalovat pomocí následujícího příkazu:
apt-get install php-memcached -y
Pokud chcete povolit podporu Pythonu a Perlu, spusťte následující příkaz:
apt-get install python3-pymemcache libcache-memcached-libmemcached-perl -y
Jakmile jsou všechny knihovny nainstalovány, můžete přejít k dalšímu kroku.
Ověřit Memcached
Memcached je nyní nainstalován a nakonfigurován. Nyní vytvořte jednoduchý PHP skript pro ověření Memcached. Nejprve nainstalujte Apache a PHP pomocí následujícího příkazu:
apt-get install apache2 php libapache2-mod-php -y
Jakmile jsou všechny balíčky nainstalovány, vytvořte soubor info.php pomocí následujícího příkazu:
nano /var/www/html/info.php
Přidejte následující řádky:
<?php // Show all information, defaults to INFO_ALL phpinfo(); ?>
Uložte a zavřete soubor, poté otevřete webový prohlížeč a přejděte na adresu URL http://ip-vaseho-serveru/info.php . Na následující testovací stránce byste měli vidět, že Memcached je povolen:
Přístup k rozhraní CLI Memcached
Memcached poskytuje rozhraní příkazového řádku pro interakci s Memcached přímo pomocí příkazového řádku.
Nejprve se připojte k Memcached pomocí následujícího příkazu:
telnet localhost 11211
Jakmile se připojíte, získáte následující výstup:
Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'.
Nyní zkontrolujte stav Memcached pomocí následujícího příkazu:
stats
V následujícím výstupu byste měli vidět některé důležité informace, jako je doba provozuschopnosti, počet položek v mezipaměti a počet klientských připojení k instanci:
STAT pid 28398 STAT uptime 222 STAT time 1635761765 STAT version 1.6.9 STAT libevent 2.1.12-stable STAT pointer_size 64 STAT rusage_user 0.049028 STAT rusage_system 0.049054 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 3 STAT lru_maintainer_juggles 272 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
Závěr
Gratulujeme! úspěšně jste nainstalovali Memcached na Debian 11. Nyní můžete integrovat Memcached s aplikacemi založenými na PHP nebo Pythonu a zvýšit rychlost svého webu. Pokud máte nějaké dotazy, neváhejte se mě zeptat.