Memcached je bezplatné a open source vysoce výkonné úložiště dat klíč–hodnota v paměti. Nejčastěji se používá ke zrychlení aplikací ukládáním různých objektů do mezipaměti z výsledků databázových volání.
V tomto tutoriálu se budeme zabývat procesem instalace a konfigurace nejnovější verze Memcached na Ubuntu 18.04. Stejné pokyny platí pro Ubuntu 16.04 a jakoukoli distribuci založenou na Ubuntu.
Předpoklady #
Než budete pokračovat v tomto tutoriálu, ujistěte se, že jste přihlášeni jako uživatel s právy sudo.
Instalace Memcached #
Balíčky Memcached jsou součástí výchozích úložišť Ubuntu 18.04. Instalace je docela přímočará, postupujte podle následujících kroků:
-
Začněte aktualizací seznamu balíčků apt:
sudo apt update
-
Nainstalujte Memcached zadáním:
sudo apt install memcached libmemcached-tools
libmemcached-tools
balíček poskytuje několik nástrojů příkazového řádku pro správu serveru Memcached. -
Po dokončení instalace se služba Memcached automaticky spustí. Chcete-li zkontrolovat stav služby, zadejte následující příkaz:
sudo systemctl status memcached
Výstup bude vypadat takto:
● memcached.service - memcached daemon Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2019-04-30 15:13:41 PDT; 37s ago Docs: man:memcached(1) Main PID: 10753 (memcached) Tasks: 10 (limit: 2319) CGroup: /system.slice/memcached.service `-10753 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid
To je vše, v tuto chvíli máte na svém serveru Ubuntu 18.04 nainstalovaný a spuštěný Memcached.
Konfigurace Memcached #
Memcached lze konfigurovat úpravou /etc/memcached.conf
soubor. Výchozí nastavení konfigurace je dostatečné pro většinu uživatelů.
Ve výchozím nastavení je Memcached nakonfigurován tak, aby naslouchal pouze na localhost. Pokud klient připojující se k serveru také běží na stejném hostiteli, nemusíte měnit výchozí konfigurační soubor.
Vzdálený přístup #
Při nesprávné konfiguraci lze Memcached použít k provedení distribuovaného útoku typu denial-of-service (DDoS). Pokud chcete povolit vzdálený přístup k vašemu serveru Memcached, musíte nakonfigurovat bránu firewall a povolit přístup k portu Memcached UDP 11211 pouze důvěryhodným klientům.
Následující příklad předpokládá, že se chcete připojit k serveru Memcached přes privátní síť. IP serveru je 192.168.100.20
a IP adresa klienta je 192.168.100.30
Ubuntu přichází s konfiguračním nástrojem brány firewall s názvem UFW. Ve výchozím nastavení je UFW nainstalován, ale není povolen. Před povolením brány firewall UFW nejprve přidejte pravidlo, které povolí příchozí připojení SSH:
sudo ufw allow 22
Povolit vyhodnocení z IP adresy vzdáleného klienta:
sudo ufw allow from 192.168.100.30 to any port 11211
Povolte UFW zadáním:
sudo ufw status
Jakmile je váš firewall nakonfigurován, dalším krokem je upravit konfiguraci Memcached a nastavit službu Memcached tak, aby naslouchala na privátním síťovém rozhraní serveru:
Chcete-li tak učinit, otevřete memcached.conf
konfigurační soubor:
sudo nano /etc/memcached.conf
Najděte řádek, který začíná -l 127.0.0.1
a nahraďte 127.0.0.1
s IP adresou serveru 192.168.100.20
.
# Specify which IP address to listen on. The default is to listen on all IP addresses
# This parameter is one of the only security measures that memcached has, so make sure
# it's listening on a firewalled interface.
-l 192.168.100.20
Restartujte službu Memcached, aby se změny projevily:
sudo systemctl restart memcached
Nyní se můžete připojit k serveru Memcached ze svého vzdáleného umístění.
Připojování k Memcached #
Chcete-li se připojit k serveru Memcached, musíte použít klienta specifického pro daný jazyk.
PHP #
Chcete-li použít Memcached jako cachovací databázi pro vaši PHP aplikaci, jako je WordPress, Drupal, Joomlaor Magento, musíte nainstalovat php-memcached
rozšíření:
sudo apt install php-memcached
Python #
Existuje několik knihoven Python pro interakci s memcache. Svoji preferovanou knihovnu můžete nainstalovat pomocí pip:
pip install pymemcache
pip install python-memcached