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 vysvětluje, jak nainstalovat a nakonfigurovat Redis na serveru CentOS 7.
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 CentOS 7 #
Balíček Redis není součástí výchozích úložišť CentOS. Redis verzi 5.0.2 nainstalujeme z úložiště Remi.
Instalace je docela přímočará, postupujte podle následujících kroků:
-
Začněte povolením úložiště Remi spuštěním následujících příkazů v terminálu SSH:
sudo yum install epel-release yum-utils
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi
-
Nainstalujte balíček Redis zadáním:
sudo yum install redis
-
Po dokončení instalace spusťte službu Redis a povolte její automatické spouštění při spouštění pomocí:
sudo systemctl start redis
sudo systemctl enable redis
Created symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /usr/lib/systemd/system/redis.service.
Chcete-li zkontrolovat stav služby, zadejte následující příkaz:
sudo systemctl status redis
Měli byste vidět něco jako následující:
● redis.service - Redis persistent key-value database Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled) Drop-In: /etc/systemd/system/redis.service.d └─limit.conf Active: active (running) since Sat 2018-11-24 15:21:55 PST; 40s ago Main PID: 2157 (redis-server) CGroup: /system.slice/redis.service └─2157 /usr/bin/redis-server 127.0.0.1:6379
Gratulujeme, v tuto chvíli máte na svém serveru CentOS 7 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.conf
Najděte řádek, který začíná bind 127.0.0.1
a za 127.0.0.1
přidejte soukromou IP adresu vašeho serveru .
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bind 127.0.0.1 192.168.121.233
Ujistěte se, že jste nahradili 192.168.121.233
s vaší IP adresou. Uložte soubor a zavřete editor.
Restartujte službu Redis, aby se změny projevily:
sudo systemctl restart redis
Použijte následující ss
příkaz k ověření, že server Redis naslouchá na vašem soukromém rozhraní na portu 6379
:
ss -an | grep 6379
Měli byste vidět něco jako níže:
tcp LISTEN 0 128 192.168.121.233:6379 *:*
tcp LISTEN 0 128 127.0.0.1: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 FirewallD
ke správě firewallu a chcete povolit přístup z 192.168.121.0/24
subnet byste spustili následující příkazy:
sudo firewall-cmd --new-zone=redis --permanent
sudo firewall-cmd --zone=redis --add-port=6379/tcp --permanent
sudo firewall-cmd --zone=redis --add-source=192.168.121.0/24 --permanent
sudo firewall-cmd --reload
Výše uvedené příkazy vytvoří novou zónu s názvem redis
, otevře port 6379
a umožňuje přístup z privátní sítě.
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, který poskytuje rozhraní příkazového řádku serveru Redis:
redis-cli -h <REDIS_IP_ADDRESS> ping
Příkaz by měl vrátit odpověď PONG
:
PONG