Memcached je bezplatný, vysoce výkonný a distribuovaný systém ukládání objektů do mezipaměti napsaný v jazyce C. Používá se pro zrychlení dynamických databází řízených webových stránek ukládáním dat a objektů do mezipaměti RAM. Memcached funguje tak, že ukládá obsah tabulky databáze webových stránek a dotazů do paměti, čímž výrazně zvyšuje výkon webových stránek. Pomocí Memcached můžete vytvořit a nasadit vysoce škálovatelné a vysoce výkonné webové stránky. Memcached nyní používá mnoho společností včetně Facebooku, Redditu, Wikipedie, Craigslist, Yellowbot, YouTube a dalších.
V tomto tutoriálu vysvětlíme podrobné pokyny, jak nainstalovat a zabezpečit Memcache na Ubuntu 18.04 VPS.
Předpoklady
- Nový server Ubuntu 18.04 VPS na Atlantic.Net Cloud.
- Na vašem VPS je nastaveno heslo uživatele root.
Krok 1 – Vytvořte cloudový server Atlantic.Net
Nejprve se přihlaste ke svému serveru Atlantic.Net Cloud. Vytvořte nový server a jako operační systém vyberte Ubuntu 18.04 s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.
Jakmile se přihlásíte ke svému serveru Ubuntu 18.04, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.
apt-get update -y
Krok 2 – Instalace Apache a PHP
Nejprve budete muset nainstalovat webový server Apache a PHP na váš server. Můžete je nainstalovat pomocí následujícího příkazu:
apt-get install apache2 php php-dev php-pear libapache2-mod-php -y
Jakmile jsou všechny balíčky nainstalovány, spusťte webový server Apache a povolte jeho spuštění po restartu systému pomocí následujícího příkazu:
systemctl spustí apache2systemctl povolí apache2
Krok 3 – Instalace Memcached
apt-get install memcached libmemcached-tools php-memcached -y
Po instalaci musíte restartovat službu Apache, aby se změny projevily:
systemctl restartujte apache2
Dále můžete zkontrolovat stav služby Memcached pomocí následujícího příkazu:
stav systemctl memcached
Měli byste získat následující výstup:
● memcached.service – démon memcached Načteno:načteno (/lib/systemd/system/memcached.service; povoleno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běží) od pá 2019-08-30 09:30:02 UTC; Před 41 s Dokumenty:muž:memcached(1) Hlavní PID:19088 (memcached) Úkoly:10 (limit:1114) CGroup:/system.slice/memcached.service └8/1219 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pidAug 30 09:30:02 ubuntu1804 systemd[1]:Spuštěn démon memcached.
netstat -plunt | grep memcached
Výstup:
tcp 0 0 127.0.0.1:11211 0.0.0.0:* POSLECHNOUT 19088/memcached
Můžete také zkontrolovat aktuální statistiky vašeho serveru Memcached pomocí následujícího příkazu:
echo "nastavení statistik" | nc localhost 11211
Měli byste získat následující výstup:
STAT maxbytes 67108864STAT maxconns 1024STAT tcpport 11211STAT udpport 0STAT inter 127.0.0.1STAT verbosity 0STAT oldest 0STAT evictions onSTAT domain_socket NULLSTAT umask 700STAT growth_factor 1.25STAT chunk_size 48STAT num_threads 4STAT num_threads_per_udp 4STAT stat_key_prefix :STAT detail_enabled noSTAT reqs_per_event 20STAT cas_enabled yesSTAT tcp_backlog 1024STAT binding_protocol auto- vyjednávat
Krok 4 – Konfigurace Memcached
Výchozí konfigurační soubor Memcache je umístěn na /etc/memcached.conf. Nyní otevřete konfigurační soubor Memcached a nastavte Memcached tak, aby naslouchal na localhost (127.0.0.1) s 2 GB paměti a umožňoval maximálně 1000 připojení:
nano /etc/memcached.conf
Proveďte následující změny:
# Spusťte memcached jako démona. Tento příkaz je implicitní a není potřeba pro výstup-d# Log memcached do /var/log/memcachedlogfile /var/log/memcached.log# memory-m 2048# Výchozí připojovací port je 11211-p 11211# Spusťte démona jako vykořenit. Start-memcached se standardně spustí jako root, pokud v tomto konfiguračním souboru není přítomen příkaz no# -u-u memcache# Určete, na které IP adrese se má naslouchat. Výchozí nastavení je poslouchat na všech IP adresách-l 127.0.0.1# Omezit počet současných příchozích připojení. Výchozí nastavení démona je 1024-c 500# Použijte soubor pidfile-P /var/run/memcached/memcached.pid
Uložte a zavřete soubor. Potom restartujte službu Memcached a použijte změny:
systemctl restart memcached
Krok 5 – Test Memcached
Memcached je nyní nainstalován a spuštěn. Dále zkontrolujte, zda je povoleno rozšíření Memcache PHP a zda funguje správně. Chcete-li tak učinit, vytvořte soubor info.php v kořenovém adresáři Apache:
nano /var/www/html/info.php
Přidejte následující řádky:
Uložte a zavřete soubor. Poté otevřete webový prohlížeč a zadejte adresu URL http://ip-vaseho-serveru/info.php. Měli byste získat následující stránku s povoleným Memcached:
Je dobrou praxí odstranit soubor info.php po testování, abyste ochránili svůj server před hackery.
Rm -rf /var/www/html/info.php
Krok 6 – Zabezpečení Memcached pomocí SASL
Bez jakéhokoli zabezpečení může Memcached přispět k útokům typu Denial of Service. Doporučuje se zabezpečit Memcached podporou SASL a autentizací uživatele.
Nejprve zkontrolujte připojení Memcached bez jakéhokoli zabezpečení spuštěním následujícího příkazu:
memcstat --servers="127.0.0.1"
Výstup:
Server:127.0.0.1 (11211) pid:16805 doba provozu:764 čas:1566107468 . . . 1 až 1Dále otevřete konfigurační soubor Memcached a povolte podporu SASL a podrobné protokolování pomocí následujícího příkazu:
nano /etc/memcached.confNa konec souboru přidejte následující řádek:
-S-vvUložte a zavřete soubor. Potom restartujte službu Memcached:
systemctl restart memcachedDále zkontrolujte protokol Memcached a zkontrolujte, zda byla povolena podpora SASL:
journalctl -u memcachedMěli byste vidět následující výstup s podporou SASL:
18. srpna 05:52:37 hitesh30 09:47:14 ubuntu1804 systemd-memcached-wrapper[19941]:Inicializováno SASL.Poté znovu zkontrolujte připojení Memcached pomocí následujícího příkazu:
memcstat --servers="127.0.0.1"Neměli byste získat žádný výstup; to znamená, že v Memcached byla povolena podpora SASL.
Dále budete muset přidat ověřeného uživatele pro Memcached.
Chcete-li to provést, nejprve nainstalujte balíček SASL pomocí následujícího příkazu:
apt-get install sasl2-bin -yPo instalaci vytvořte adresář a soubor pro konfiguraci SASL:
mkdir /etc/sasl2nano /etc/sasl2/memcached.confPřidejte následující řádky:
mech_list:plainlog_level:5sasldb_path:/etc/sasl2/memcached-sasldb2Uložte a zavřete soubor. Poté vytvořte databázi SASL s uživatelem s názvem memcacheadmin pomocí následujícího příkazu:
saslpasswd2 -a memcached -c -f /etc/sasl2/memcached-sasldb2 user1Budete vyzváni k zadání hesla:
Heslo:Znovu (pro ověření):Dále změňte vlastnictví databáze SASL:
chown memcache:memcache /etc/sasl2/memcached-sasldb2Nakonec restartujte službu Memcached, abyste použili změny konfigurace:
systemctl restart memcachedDále znovu zkontrolujte připojení Memcached pomocí našich ověřovacích údajů:
memcstat --servers="127.0.0.1" --username=user1 [email protected]Měli byste získat následující výstup:
Server:127.0.0.1 (11211) pid:18776 doba provozu:30 čas:1. doba před 2.To znamená, že Memcached je nyní zabezpečený podporou SASL a autentizací uživatele.
Jak nastavit plně vybavený poštovní server s IRedMail na Centos 7 VPS Hostujte více webových stránek s různými verzemi PHP na Ubuntu 18.04 VPSLinux