Redis je úložiště datových struktur v paměti s otevřeným zdrojovým kódem. Může být použit jako databáze, cache a zprostředkovatel zpráv a podporuje různé datové struktury, jako jsou řetězce, hashe, seznamy, sady atd. Redis poskytuje vysokou dostupnost přes Redis Sentinel včetně monitorování, upozornění Automatické převzetí služeb při selhání. Poskytuje také automatické dělení mezi více uzly Redis pomocí Redis Cluster.
Tento tutoriál popisuje, jak nainstalovat a nakonfigurovat Redis na serveru Ubuntu 18.04. Stejné pokyny platí pro Ubuntu 16.04 a jakoukoli distribuci založenou na Ubuntu.
Předpoklady #
Než začnete s výukovým programem, ujistěte se, že jste přihlášeni jako uživatel s právy sudo.
Instalace Redis na Ubuntu #
Balíček Redis je 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 spuštěním následujícího příkazu v terminálu SSH:
sudo apt update
-
Nainstalujte Redis zadáním:
sudo apt install redis-server
-
Po dokončení instalace se služba Redis automaticky spustí. Chcete-li zkontrolovat stav služby, zadejte následující příkaz:
sudo systemctl status redis-server
Měli byste vidět něco takového:
● redis-server.service - Advanced key-value store Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2018-10-28 05:10:45 PDT; 2h ago Docs: http://redis.io/documentation, man:redis-server(1) Process: 2197 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS) Process: 2201 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS) Main PID: 2226 (redis-server) Tasks: 4 (limit: 2319) CGroup: /system.slice/redis-server.service `-2226 /usr/bin/redis-server 0.0.0.0:6379
Gratulujeme, v tuto chvíli máte na svém serveru Ubuntu 18.04 nainstalovaný a spuštěný Redis.
Konfigurace vzdáleného přístupu Redis #
Ve výchozím nastavení Redis neumožňuje vzdálená připojení. K serveru Redis se můžete připojit pouze z 127.0.0.1 (localhost) - počítač, na kterém běží Redis.
Následující kroky proveďte pouze v případě, že se chcete k serveru Redis připojit ze vzdálených hostitelů. Pokud používáte nastavení jednoho serveru, kde aplikace a Redis běží na stejném počítači, neměli byste povolovat vzdálený přístup.
Chcete-li nakonfigurovat Redis tak, aby přijímal vzdálená připojení, otevřete konfigurační soubor Redis pomocí textového editoru:
sudo nano /etc/redis/redis.conf
Najděte řádek, který začíná bind 127.0.0.1 ::1
a nahraďte 127.0.0.1
s 0.0.0.0
.
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bind 0.0.0.0 ::1
Uložte soubor a zavřete editor.
Restartujte službu Redis, aby se změny projevily:
sudo systemctl restart redis-server
Pomocí následujícího příkazu ověřte, že redis naslouchá na všech rozhraních na portu 6379
:
ss -an | grep 6379
Měli byste vidět něco jako níže. 0.0.0.0
znamená všechny adresy IPv4 na počítači.
tcp LISTEN 0 128 0.0.0.0:6379 0.0.0.0:*
tcp LISTEN 0 128 [::]:6379 [::]:*
Dále budete muset přidat pravidlo brány firewall, které povolí provoz ze vzdálených počítačů na portu TCP 6379
.
Za předpokladu, že používáte UFW
ke správě firewallu a chcete povolit přístup z 192.168.121.0/24
subnet spustíte následující příkaz:
sudo ufw allow proto tcp from 192.168.121.0/24 to any port 6379
V tomto okamžiku bude server Redis přijímat vzdálená připojení na portu TCP 6379.
Ujistěte se, že je váš firewall nakonfigurován tak, aby přijímal připojení pouze z důvěryhodných rozsahů IP.
Chcete-li ověřit, že je vše správně nastaveno, můžete zkusit ping na server Redis ze vzdáleného počítače pomocí redis-cli
nástroj:
redis-cli -h <REDIS_IP_ADDRESS> ping
Příkaz by měl vrátit odpověď PONG
:
PONG