Com instal·lar el servidor Redis a CentOS i sistemes basats en Debian


Redis és un magatzem d'estructura de dades a la memòria de codi obert, d'alt rendiment i flexible (format clau-valor) que s'utilitza com a base de dades, memòria cau i intermediari de missatges. Està escrit en ANSI C i s'executa en la majoria si no tots els sistemes operatius semblants a Unix, inclòs Linux (recomanat per desplegar) sense dependències externes.

És ric en funcions, admet diversos llenguatges de programació i estructures de dades, com ara cadenes, hash, llistes, conjunts, conjunts ordenats amb consultes d'interval, mapes de bits, entre d'altres.

  • Admet la majoria de llenguatges de programació, com ara C, Bash, Python, PHP, Node.js, Perl, Ruby per esmentar-ne només alguns.
  • Té rèplica inherent, scripts Lua, desallotjament de LRU, transaccions, així com diferents nivells de persistència al disc.
  • Ofereix alta disponibilitat mitjançant Redis Sentinel i particionament automàtic mitjançant Redis Cluster.
  • Admet l'execució d'operacions atòmiques.
  • Funciona amb un conjunt de dades a la memòria per aconseguir un rendiment remarcable.
  • Admet la rèplica asíncrona mestre-esclau trivial a la configuració.
  • Admet la migració automàtica per error.
  • Us permet desar el conjunt de dades al disc amb poca freqüència durant un període de temps determinat o afegint cada ordre a un registre.
  • Permet la desactivació opcional de la persistència.
  • Admet missatges de publicació/subscripció.
  • També admet transaccions MULTI, EXEC, DISCARD i WATCH i moltes més.

  1. Un servidor RHEL 7 amb instal·lació mínima
  2. Un servidor Debian amb instal·lació mínima
  3. Compilador GCC i libc

En aquest tutorial, proporcionarem instruccions sobre com instal·lar un servidor Redis des de la font (que és el mètode recomanat) a Linux. També mostrarem com configurar, gestionar i protegir Redis. Com que Redis serveix totes les dades de la memòria, us recomanem fermament que utilitzeu un servidor VPS de memòria alta amb aquesta guia.

Pas 1: instal·leu el servidor Redis des de la font

1. Primer, instal·leu les dependències de compilació necessàries.

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

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

2. A continuació, descarregueu i compileu l'última versió estable de Redis utilitzant l'URL especial que sempre apunta a l'últim Redis estable mitjançant l'ordre 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. Després de la compilació de Redis, el directori src dins de la distribució de Redis s'omple amb els diferents executables següents que formen part de Redis:

  • redis-server: servidor redis.
  • redis-sentinel: executable de redis sentinel (vigilància i migració per error).
  • redis-cli: una utilitat CLI per interactuar amb redis.
  • redis-benchmark: s'utilitza per comprovar el rendiment de redis.
  • redis-check-aof i redis-check-dump: útils en casos excepcionals de fitxers de dades danyats.

Pas 2: configureu el servidor Redis a Linux

4. A continuació, heu de configurar Redis per a un entorn de desenvolupament que el gestioni el sistema d'inici (systemd per als propòsits d'aquest tutorial). Comenceu creant els directoris necessaris per emmagatzemar els fitxers de configuració de Redis i les vostres dades:

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

4. A continuació, copieu el fitxer de configuració de la plantilla Redis proporcionat al directori que heu creat anteriorment.

$ sudo cp redis.conf /etc/redis/

5. Ara obriu el fitxer de configuració i actualitzeu alguns paràmetres de la següent manera.

$ sudo vi /etc/redis/redis.conf

6. A continuació, cerqueu les opcions següents i canvieu (o utilitzeu) els seus valors predeterminats segons les necessitats de l'entorn 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

Pas 3: creeu el fitxer Redis Systemd Unit

7. Ara heu de crear un fitxer d'unitat systemd per a redis per tal de controlar el dimoni, executant l'ordre següent.

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

I afegiu la configuració següent:

[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

Desa i tanca el fitxer.

Pas 4: Gestioneu i proveu el servidor Redis a Linux

8. Un cop hàgiu realitzat totes les configuracions necessàries, ara podeu iniciar el servidor Redis, de moment, habiliteu-lo perquè s'iniciï automàticament a l'arrencada del sistema; a continuació, visualitzeu el seu estat de la següent manera.

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

9. A continuació, comproveu si tota la configuració de redis funciona bé. Per interactuar amb el servidor redis, utilitzeu l'ordre redis-cli. Després de connectar-vos al servidor, proveu d'executar algunes ordres.

$ 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. A continuació, tanqueu la connexió amb l'ordre exit i reinicieu el servidor redis. Després, comproveu si la meva clau encara està emmagatzemada al servidor tal com es mostra a continuació:

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

11. Per suprimir una clau, utilitzeu l'ordre delete de la manera següent:

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

Pas 5: assegurant el servidor Redis a Linux

12. Aquesta secció està destinada als usuaris que tinguin la intenció d'utilitzar un servidor redis connectat a una xarxa externa com Internet.

Important: exposar redis a Internet sense cap seguretat fa que sigui extremadament fàcil d'explotar; per tant, assegureu el servidor redis de la següent manera:

  • bloqueja les connexions al port redis del sistema amb tallafoc
  • establir la directiva d'enllaç a la interfície de bucle: 127.0.0.1
  • establiu l'opció requirepass perquè els clients s'hagin d'autenticar mitjançant l'ordre AUTH.
  • configureu el túnel SSL per xifrar el trànsit entre servidors Redis i clients Redis.

Per obtenir més informació d'ús, executeu l'ordre següent:

$ redis-cli -h

Podeu trobar més ordres del servidor i aprendre a utilitzar redis a la vostra aplicació des de la pàgina d'inici de Redis: https://redis.io/

En aquest tutorial, vam mostrar com instal·lar, configurar, gestionar i protegir Redis a Linux. Per compartir qualsevol reflexió, utilitzeu el formulari de comentaris a continuació.