Cum se instalează serverul Redis în sistemele CentOS și Debian


Redis este un magazin de structură de date în memorie open-source, de înaltă performanță și flexibil (format cheie-valoare) – folosit ca bază de date, cache și broker de mesaje. Este scris în ANSI C și rulează pe majoritatea, dacă nu pe toate, sistemele de operare asemănătoare Unix, inclusiv Linux (recomandat pentru implementare) fără dependențe externe.

Este bogat în caracteristici, acceptă mai multe limbaje de programare și structuri de date, inclusiv șiruri de caractere, hashuri, liste, seturi, seturi sortate cu interogări de interval, hărți de bit, printre altele.

Caracteristici Redis:

  • Suportă majoritatea limbajelor de programare, inclusiv C, Bash, Python, PHP, Node.js, Perl, Ruby doar pentru a menționa doar câteva.
  • Are replicare inerentă, scripting Lua, evacuare LRU, tranzacții, precum și niveluri diferite de persistență pe disc.
  • Oferă disponibilitate ridicată prin Redis Sentinel și partiționare automată prin Redis Cluster.
  • Suportă rularea operațiunilor atomice.
  • Funcționează cu un set de date în memorie pentru a obține performanțe remarcabile.
  • Acceptă replicarea asincronă master-slave trivială până la configurare.
  • Suporta failover automat.
  • Vă permite să salvați setul de date pe disc rar pentru o anumită perioadă de timp sau prin adăugarea fiecărei comenzi la un jurnal.
  • Permite dezactivarea opțională a persistenței.
  • Acceptă mesajele de publicare/abonare.
  • De asemenea, acceptă tranzacții MULTI, EXEC, DISCARD și WATCH și multe altele.

Cerințe:

  1. Un server CentOS 7 și un server RHEL 7 cu instalare minimă
  2. Un server Ubuntu sau un server Debian cu instalare minimă
  3. Compilatorul GCC și libc

În acest tutorial, vom oferi instrucțiuni despre cum să instalați un server Redis din sursă (care este metoda recomandată) în Linux. De asemenea, vom arăta cum să configurați, să gestionați și să securizați Redis. Deoarece Redis servește toate datele din memorie, vă recomandăm cu insistență să utilizați un server VPS cu memorie mare cu acest ghid.

Pasul 1: Instalați serverul Redis din sursă

1. Mai întâi, instalați dependențele de compilare necesare.

--------------- On CentOS / RHEL / Fedora --------------- 
yum groupinstall "Development Tools"
dnf groupinstall "Development Tools"

--------------- On Debian / Ubuntu --------------- 
sudo apt install build-essential

2. Apoi, descărcați și compilați cea mai recentă versiune Redis stabilă folosind adresa URL specială care indică întotdeauna cea mai recentă versiune Redis stabilă folosind comanda wget.

wget -c http://download.redis.io/redis-stable.tar.gz
tar -xvzf redis-stable.tar.gz
cd redis-stable
make 
make test
sudo make install

3. După compilarea Redis, directorul src din interiorul distribuției Redis este populat cu diferitele următoarele fișiere executabile care fac parte din Redis:

  • redis-server – server redis.
  • redis-sentinel – executabil redis sentinel (monitorizare și failover).
  • redis-cli – un utilitar CLI pentru a interacționa cu redis.
  • redis-benchmark – folosit pentru a verifica performanțele redis.
  • redis-check-aof și redis-check-dump – utile în cazul rar al fișierelor de date corupte.

Pasul 2: Configurați serverul Redis în Linux

4. În continuare, trebuie să configurați Redis pentru un mediu de dezvoltare care să fie gestionat de sistemul init (systemd în scopul acestui tutorial) . Începeți prin a crea directoarele necesare pentru stocarea fișierelor de configurare Redis și a datelor dvs.:

sudo mkdir /etc/redis
sudo mkdir -p /var/redis/

4. Apoi copiați fișierul de configurare Redis șablon furnizat, în directorul creat mai sus.

sudo cp redis.conf /etc/redis/

5. Acum deschideți fișierul de configurare și actualizați câteva setări, după cum urmează.

sudo vi /etc/redis/redis.conf

6. În continuare, căutați următoarele opțiuni, apoi modificați (sau utilizați) valorile lor implicite în funcție de nevoile mediului local.

port  6379				#default port is already 6379. 
daemonize yes				#run as a daemon
supervised systemd			#signal systemd
pidfile /var/run/redis.pid 		#specify pid file
loglevel notice				#server verbosity level
logfile /var/log/redis.log		#log file name
dir  /var/redis/			#redis directory

Pasul 3: Creați fișierul Redis Systemd Unit

7. Acum trebuie să creați un fișier de unitate systemd pentru redis pentru a controla demonul, rulând următoarea comandă.

sudo vi /etc/systemd/system/redis.service

Și adăugați configurația de mai jos:

[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
User=root
Group=root
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
Type=forking

[Install]
WantedBy=multi-user.target

Salvați și închideți fișierul.

Pasul 4: Gestionați și testați serverul Redis în Linux

8. După ce ați efectuat toate configurațiile necesare, acum puteți porni serverul Redis, deocamdată, activați-l să pornească automat la pornirea sistemului; apoi vizualizați starea acestuia după cum urmează.

sudo systemctl start redis
sudo systemctl enable redis
sudo systemctl status redis

9. Apoi, testați dacă întreaga configurație redis funcționează bine. Pentru a interacționa cu serverul redis, utilizați comanda redis-cli. După conectarea la server, încercați să rulați câteva comenzi.

redis-cli
Test connection to server using ping command:
127.0.0.1:6379> ping
Use the echo command to echo a given string:
127.0.0.1:6379> echo "Tecmint is testing Redis"
You can also set a key value using the set command like this:
127.0.0.1:6379> set mykey "Tecmint is testing Redis"
Now view the value of mykey:
127.0.0.1:6379> get mykey

10. Apoi închideți conexiunea cu comanda exit și reporniți serverul redis. După aceea, verificați dacă mykey este încă stocată pe server, așa cum se arată mai jos:

127.0.0.1:6379> exit
sudo systemctl restart redis
redis-cli
127.0.0.1:6379> get mykey

11. Pentru a șterge o cheie, utilizați comanda de ștergere după cum urmează:

127.0.0.1:6379> del mykey
127.0.0.1:6379> get mykey

Pasul 5: Securizarea serverului Redis în Linux

12. Această secțiune este destinată utilizatorilor care intenționează să utilizeze un server redis conectat la o rețea externă precum Internetul.

Important: expunerea redis la Internet fără nicio securitate îl face extrem de ușor de exploatat; prin urmare, securizează serverul redis după cum urmează:

  • blocați conexiunile la portul redis din sistemul firewall
  • setați directiva de legătură la interfața de loopback: 127.0.0.1
  • setați opțiunea requirepass, astfel încât clienților li se va cere să se autentifice folosind comanda AUTH.
  • configurați tunelul SSL pentru a cripta traficul dintre serverele Redis și clienții Redis.

Pentru mai multe informații despre utilizare, executați comanda de mai jos:

redis-cli -h

Puteți găsi mai multe comenzi de server și puteți afla cum să utilizați redis în cadrul aplicației dvs. de pe pagina de pornire Redis: https://redis.io/

În acest tutorial, am arătat cum să instalați, să configurați, să gestionați și să securizați Redis în Linux. Pentru a împărtăși orice gânduri, utilizați formularul de comentarii de mai jos.