Memcached je bezplatné a open source vysoce výkonné úložiště dat klíč–hodnota v paměti. Obvykle se používá jako systém ukládání do mezipaměti pro urychlení aplikací ukládáním různých objektů do mezipaměti z výsledků databázových volání.
Tento článek ukazuje, jak nainstalovat a nakonfigurovat Memcached na CentOS 8.
Instalace Memcached na CentOS #
Balíčky Memcached jsou součástí výchozích úložišť CentOS 8. Instalace je docela snadná, zadejte následující příkaz jako root nebo uživatel s právy sudo:
sudo dnf install memcached libmemcached
Soubor libmemcached
balíček poskytuje několik nástrojů příkazového řádku pro správu serveru Memcached.
Po dokončení instalace povolte a spusťte službu Memcached zadáním:
sudo systemctl enable memcached --now
Chcete-li ověřit, že memcached běží, zadejte:
sudo systemctl status memcached
Výstup by měl vypadat nějak takto:
● memcached.service - memcached daemon
Loaded: loaded (/usr/lib/systemd/system/memcached.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2020-04-13 20:12:52 UTC; 2s ago
...
To je vše, nainstalovali jste Memcached na svůj server CentOS 8 a můžete jej začít používat.
Konfigurace Memcached #
Možnosti Memcached lze nakonfigurovat v /etc/sysconfig/memcached
soubor. Ve výchozím nastavení je Memcached nastaven tak, aby naslouchal pouze na localhost.
Pokud klient připojující se k serveru také běží na stejném hostiteli, neměli byste provádět žádné změny.
Vzdálený přístup #
Pokud je aplikace, která se připojí k Memcached, hostována na vzdáleném serveru, musíte nakonfigurovat bránu firewall a povolit přístup k portu Memcached 11211
pouze z klientské IP adresy.
Při nesprávné konfiguraci lze Memcached použít k provedení distribuovaného útoku typu denial-of-service (DDoS).
Následující příklad předpokládá, že se chcete připojit k serveru Memcached přes privátní síť. IP serveru Memcached je 192.168.100.20
a IP adresa klienta je 192.168.100.30
.
Prvním krokem je upravit konfiguraci Memcached a nastavit službu tak, aby naslouchala na privátním síťovém rozhraní serveru:
Otevřete memcached
konfigurační soubor:
sudo nano /etc/sysconfig/memcached
V OPTIONS
parametr, přidejte IP adresu serveru -l 192.168.100.20
. To dává Memcached pokyn, aby se svázal pouze se zadaným rozhraním.
OPTIONS="-l 192.168.100.20"
Uložte soubor a restartujte službu Memcached, aby se změny projevily:
sudo systemctl restart memcached
Jakmile je služba nakonfigurována, dalším krokem je otevření portu memcached ve vašem firewallu.
CentOS je dodáván s konfiguračním nástrojem brány firewall FirewallD
. Níže uvedené příkazy vytvoří novou zónu s názvem memcached
, otevřete port 11211
a povolit přístup pouze z klientské IP adresy.
sudo firewall-cmd --new-zone=memcached --permanent
sudo firewall-cmd --zone=memcached --add-port=11211/udp --permanent
sudo firewall-cmd --zone=memcached --add-port=11211/tcp --permanent
sudo firewall-cmd --zone=memcached --add-source=192.168.100.30/32 --permanent
sudo firewall-cmd --reload
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 nebo Magento, musíte nainstalovat php-pecl-memcached
rozšíření:
sudo dnf install php-pecl-memcache
Python #
Existuje několik knihoven Python pro interakci s memcached. Svoji preferovanou knihovnu můžete nainstalovat pomocí pip:
pip install pymemcache
pip install python-memcached