Kako namestiti strežnik Redis v sisteme CentOS in Debian


Redis je odprtokodna, visoko zmogljiva in prilagodljiva shramba podatkovne strukture v pomnilniku (format ključ-vrednost) - uporablja se kot posrednik baz podatkov, predpomnilnika in sporočil. Napisano je v ANSI C in deluje na večini, če ne na vseh Unixu podobnih operacijskih sistemih, vključno z Linuxom (priporočeno za uvajanje) brez zunanjih odvisnosti.

Je bogat s funkcijami, podpira več programskih jezikov in podatkovnih struktur, vključno z nizi, razpršitvami, seznami, nizi, razvrščenimi nizi z poizvedbami za obseg in bitnimi slikami med drugim.

  • Podpira večino programskih jezikov, vključno s C, Bash, Python, PHP, Node.js, Perl, Ruby, če omenim le nekaj.
  • Ima lastno replikacijo, skripte Lua, izselitev LRU, transakcije in različne stopnje obstojnosti na disku.
  • Zagotavlja visoko razpoložljivost prek Redis Sentinel in samodejno razdeljevanje prek Redis Cluster.
  • Podpira izvajanje atomskih operacij.
  • Za doseganje izjemne zmogljivosti deluje z naborom podatkov v pomnilniku.
  • Podpira asinhrono replikacijo trivial-to-setup master-slave.
  • Podpira samodejno preusmeritev.
  • Omogoča redko shranjevanje nabora podatkov na disku za določeno časovno obdobje ali z dodajanjem vsakega ukaza v dnevnik.
  • Omogoča neobvezno onemogočanje obstojnosti.
  • Podpira objavo/naročanje sporočil.
  • Podpira tudi MULTI, EXEC, DISCARD in WATCH transakcije in še veliko več.

  1. Strežnik RHEL 7 z minimalno namestitvijo
  2. Debian strežnik z minimalno namestitvijo
  3. GCC prevajalnik in libc

V tej vadnici bomo podali navodila, kako namestiti strežnik Redis iz vira (kar je priporočena metoda) v Linux. Pokazali bomo tudi, kako konfigurirati, upravljati in zaščititi Redis. Ker Redis streže vse podatke iz pomnilnika, toplo priporočamo, da s tem vodnikom uporabite strežnik VPS z velikim pomnilnikom.

1. korak: Namestite strežnik Redis iz vira

1. Najprej namestite zahtevane odvisnosti gradnje.

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

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

2. Nato prenesite in sestavite najnovejšo stabilno različico Redisa s posebnim URL -jem, ki z ukazom wget vedno kaže na najnovejšo stabilno različico Redis.

$ 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. Po prevajanju Redis se imenik src v distribuciji Redis napolni z različnimi naslednjimi izvršljivimi datotekami, ki so del Redisa:

  • redis-server - strežnik redis.
  • redis-sentinel - izvedljiva redis sentinel (spremljanje in preusmeritev).
  • redis-cli - pripomoček CLI za interakcijo z redisom.
  • redis-benchmark - uporablja se za preverjanje uspešnosti redisa.
  • redis-check-aof in redis-check-dump - uporabno v redkih primerih poškodovanih podatkovnih datotek.

2. korak: Konfigurirajte strežnik Redis v Linuxu

4. Nato morate Redis konfigurirati za razvojno okolje, ki ga upravlja sistem init (systemd za namen te vadnice). Začnite z ustvarjanjem potrebnih imenikov za shranjevanje konfiguracijskih datotek Redis in vaših podatkov:

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

4. Nato prenesite priloženo konfiguracijsko datoteko Redis v imenik, ki ste ga ustvarili zgoraj.

$ sudo cp redis.conf /etc/redis/

5. Zdaj odprite konfiguracijsko datoteko in posodobite nekaj nastavitev, kot sledi.

$ sudo vi /etc/redis/redis.conf

6. Nato poiščite naslednje možnosti, nato spremenite (ali uporabite) njihove privzete vrednosti glede na potrebe lokalnega okolja.

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

3. korak: Ustvarite datoteko Redis Systemd Unit

7. Zdaj morate ustvariti datoteko enote systemd za redis, če želite upravljati demona, tako da izvedete naslednji ukaz.

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

In dodajte konfiguracijo spodaj:

[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

Shranite in zaprite datoteko.

4. korak: Upravljanje in testiranje strežnika Redis v Linuxu

8. Ko izvedete vse potrebne konfiguracije, lahko zdaj zaženete strežnik Redis, zaenkrat mu omogočite samodejni zagon ob zagonu sistema; nato si oglejte njegov status, kot sledi.

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

9. Nato preizkusite, ali celotna nastavitev redisa deluje dobro. Za interakcijo s strežnikom redis uporabite ukaz redis-cli. Po povezavi s strežnikom poskusite zagnati nekaj ukazov.

$ 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. Nato preknite povezavo z ukazom exit in znova zaženite strežnik redis. Nato preverite, ali je mykey še vedno shranjen na strežniku, kot je prikazano spodaj:

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

11. Če želite izbrisati ključ, uporabite ukaz delete na naslednji način:

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

5. korak: Zaščita strežnika Redis v Linuxu

12. Ta razdelek je namenjen uporabnikom, ki nameravajo uporabljati strežnik redis, povezan z zunanjim omrežjem, kot je internet.

Pomembno: Izpostavljenost redisov internetu brez kakršne koli varnosti omogoča izredno enostavno uporabo; zato zavarujte strežnik redis na naslednji način:

  • blokirajte povezave z vrati redis v požarnem zidu sistema
  • nastavite bind direktivo na povratni vmesnik: 127.0.0.1
  • nastavite možnost passpass, tako da bodo odjemalci morali preveriti pristnost z ukazom AUTH.
  • nastavite tunel SSL za šifriranje prometa med strežniki Redis in odjemalci Redis.

Za več informacij o uporabi zaženite spodnji ukaz:

$ redis-cli -h

Na domači strani Redis lahko najdete več strežniških ukazov in se naučite, kako uporabljati redis v svoji aplikaciji: https://redis.io/

V tej vadnici smo pokazali, kako namestiti, konfigurirati, upravljati in zaščititi Redis v Linuxu. Če želite deliti svoje misli, uporabite spodnji obrazec za komentar.