Redis to magazyn struktur danych typu open source, przechowywany w pamięci, szeroko stosowany jako baza danych, pamięć podręczna i broker komunikatów. Wysoka wydajność i elastyczność sprawiają, że jest to popularny wybór w różnych sektorach technologicznych. Ten przewodnik jest dla Ciebie, jeśli chcesz zainstalować Redis na Debianie 12 Bookworm, Debianie 11 Bullseye lub Debianie 10 Buster.
Kluczowe cechy Redisa
- Szybki dostęp do danych: Redis przechowuje dane w pamięci, co umożliwia szybkie ich odzyskanie. Dzięki temu idealnie nadaje się do zastosowań buforujących.
- Wiele struktur danych: W przeciwieństwie do tradycyjnych baz danych opartych na tabelach Redis obsługuje różne struktury danych, takie jak ciągi znaków, skróty, listy i zestawy.
- Wiadomości w czasie rzeczywistym: Redis oferuje wzorce przesyłania wiadomości typu Publikuj/Subskrybuj, umożliwiając komunikację aplikacji w czasie rzeczywistym.
- Trwałość danych: Chociaż Redis jest przede wszystkim bazą danych w pamięci, umożliwia okresowe zapisywanie danych na dysku, oferując równowagę pomiędzy szybkością i trwałością.
- Skalowalność i dostępność: Funkcje takie jak replikacja, fragmentowanie i Redis Sentinel zapewniają wysoką dostępność i skalowalność w wielu węzłach.
Typowe przypadki użycia Redis
- Buforowanie: Redis jest powszechnie używany do buforowania często używanych danych, co przyspiesza czas pobierania.
- Przechowywanie sesji: Dobrze nadaje się do przechowywania danych sesji użytkownika, zwłaszcza w aplikacjach internetowych o dużym natężeniu ruchu.
- Kolejkowanie wiadomości: Możliwości pub/sub sprawiają, że Redis jest doskonałym wyborem dla systemów kolejkowania wiadomości.
Zrozumienie możliwości Redis może znacząco ulepszyć Twój stos technologii. Nadchodzący przewodnik szczegółowo opisuje instalację Redis na Debianie 12 Bookworm, Debianie 11 Bullseye i Debianie 10 Buster. Omówimy dwie metody instalacji: jedną przy użyciu domyślnego repozytorium Debiana i drugą przy użyciu oficjalnego repozytorium Redis w przypadku najnowszej wersji. Obie metody będą używać poleceń interfejsu wiersza poleceń (CLI). Czekaj na instrukcje krok po kroku.
Kroki przedinstalacyjne przy instalacji Redis
Zaktualizuj pakiety systemowe Debiana
Przed instalacją Redis lub innego oprogramowania pierwszym krokiem jest sprawdzenie, czy pakiety systemu są aktualne. Ten krytyczny krok wstępny pomaga złagodzić potencjalne konflikty podczas późniejszego procesu instalacji. Zapewnia aktualność wszystkich zależności systemowych, minimalizując potencjalne problemy wynikające z nieaktualnych pakietów oprogramowania.
W systemie Debian można to zrobić, uruchamiając następującą komendę w terminalu:
sudo apt update && sudo apt upgrade
Zainstaluj pakiety wymagane do instalacji Redis
Gdy pakiety systemu Debian będą aktualne, będziesz musiał zainstalować określone pakiety oprogramowania niezbędne do instalacji Redis.
Możesz zainstalować te pakiety, uruchamiając następującą komendę:
sudo apt install software-properties-common apt-transport-https curl ca-certificates -y
Przeanalizujmy to polecenie, aby lepiej je zrozumieć:
sudo apt install
: To polecenie służy do instalowania pakietów w systemie Debian.software-properties-common
: Ten pakiet zawiera specjalne skrypty umożliwiające bezpieczne zarządzanie oprogramowaniem i kodem źródłowym.apt-transport-https
: Ten pakiet jest niezbędny, aby menedżer pakietów apt mógł pobierać pakiety za pośrednictwem protokołu „https”.curl
: Jest to narzędzie wiersza poleceń służące do przesyłania danych przy użyciu różnych protokołów sieciowych. Pomaga między innymi w pobieraniu plików.ca-certificates
: Ten pakiet jest niezbędny do sprawdzenia bezpieczeństwa stron internetowych. Zapewnia zestaw certyfikatów urzędu certyfikacji (CA).-y
: Ta opcja automatycznie odpowiada „tak” na wszelkie monity podczas instalacji.
Wybierz metodę instalacji Redis
Opcja 1: Zainstaluj Redis z repozytorium Debiana APT
Chociaż Debian włącza Redis do swojej domyślnej oferty oprogramowania, wersja może nie być najnowsza. Debian preferuje stabilność i generalnie zapewnia tylko bezpieczeństwo lub istotne aktualizacje. Może to sprawić, że wersja Redis na Debianie będzie starsza, ale prawdopodobnie bardziej stabilna. Może to być idealna trasa, jeśli zamierzone użycie Redis nie wymaga najnowszych funkcji.
Aby zainstalować Redis za pomocą tej metody, musisz wykonać następujące polecenie w terminalu:
sudo apt install redis
The sudo
polecenie zapewnia uprawnienia administratora, podczas gdy apt install redis
instaluje pakiet oprogramowania Redis w systemie Debian.
Opcja 2: Zainstaluj Redis z repozytorium APT Redis.io
Druga metoda może być bardziej atrakcyjna dla osób wymagających lub pragnących najbardziej aktualnej wersji Redis. Polega na zaimportowaniu repozytorium APT z oficjalnego repozytorium Redis.io. To repozytorium regularnie otrzymuje poprawki błędów, poprawki zabezpieczeń i aktualizacje funkcji.
Zaimportuj repozytorium Redis.io
Najpierw zaimportuj klucz GPG. GPG, czyli GNU Privacy Guard, pomaga w bezpiecznej komunikacji i przechowywaniu danych. Klucz GPG weryfikuje źródło danych i gwarantuje, że nikt go nie zmienił podczas pobierania.
Użyj tego polecenia, aby zaimportować klucz GPG:
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
Następnie importujemy repozytorium za pomocą następującego polecenia:
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
Zaktualizuj indeks pakietów po imporcie APT z Redis.io
Po dodaniu nowego repozytorium będziesz musiał zaktualizować indeks pakietów w swoim systemie, aby poznać pakiety dostępne z nowego źródła. Zrób to, uruchamiając następujące polecenie:
sudo apt-get update
Zainstaluj Redis za pomocą polecenia APT
Po skonfigurowaniu wszystkiego możesz zainstalować Redis z repozytorium Redis.io. Jeśli masz już zainstalowany Redis z repozytorium Debiana, zamiast tego możesz zobaczyć aktualizację. Następujące polecenie instaluje Redis wraz z serwerem i narzędziami Redis:
sudo apt install redis redis-server redis-tools
Sprawdź instalację Redis
Po instalacji zawsze warto sprawdzić poprawność instalacji. Można to zrobić za pomocą apt-cache policy
polecenie, potwierdzając, że zainstalowałeś wersję Redis.io. Oto jak z niego korzystać:
apt-cache policy redis
Użyj następującego polecenia, aby aktywować instancję Redis i ustawić jej uruchamianie podczas uruchamiania systemu:
sudo systemctl enable redis-server --now
Aby sprawdzić, czy Redis działa bez błędów, użyj tego polecenia:
systemctl status redis-server
To polecenie dostarcza informacji o redis-server
service, który powinien teraz działać.
Inspekcja Redis: weryfikacja poinstalacyjna w Debianie
Porty nasłuchowe
Domyślnie Redis nasłuchuje na hoście lokalnym przy użyciu portu 6379. Aby upewnić się, że Redis rzeczywiście aktywnie nasłuchuje zgodnie z oczekiwaniami, użyj następującego polecenia:
ps -ef | grep redis
To polecenie wyświetla uruchomione procesy z udziałem Redis, co powinno odzwierciedlać stan nasłuchiwania Redis na porcie 6379.
Testowanie pingu usługi Redis
Test ping to jeden z najprostszych sposobów sprawdzenia, czy usługa Redis działa. Spowoduje to nawiązanie połączenia z usługą Redis i sprawdzenie, czy jest ona uruchomiona, działa i gotowa do reagowania na polecenia.
Najpierw połącz się z usługą Redis za pomocą następującego polecenia:
redis-cli
Po uruchomieniu tego polecenia terminal powinien zostać wyświetlony 127.0.0.1:6379
, wskazując, że masz połączenie z Redis na hoście lokalnym. Teraz możesz pingować usługę Redis w następujący sposób:
ping
Wychodzenie z instancji Redis
Po zakończeniu kontroli weryfikacyjnej i potwierdzeniu, że Redis działa poprawnie, wyjdź z instancji Redis, wpisując:
exit
Pomyślnie zainstalowaliśmy Redis w systemie Debian, korzystając z repozytorium APT Debian lub oficjalnego repozytorium APT Redis.io.
Skonfiguruj i skonfiguruj Redis
Redis wyróżnia się elastycznością i możliwością dopasowania do różnych potrzeb. W tej sekcji dowiesz się, jak dostosować Redis do buforowania i dostępu do sieci oraz dodać hasło w celu zwiększenia bezpieczeństwa.
Dostęp do pliku konfiguracyjnego Redis
Podróż dostosowywania Redis rozpoczyna się od pliku konfiguracyjnego Redis znajdującego się pod adresem /etc/redis/redis.conf
. Będziesz musiał otworzyć ten plik za pomocą edytora tekstu, np nano
.
Uruchom następujące polecenie, aby to zrobić:
sudo nano /etc/redis/redis.conf
Wyznaczanie maksymalnej pamięci do buforowania
Przykładem użycia Redis jest buforowanie danych w celu zwiększenia wydajności aplikacji. Aby wyznaczyć na ten cel konkretną ilość pamięci w Redisie, po pliku konfiguracyjnym dopisz następujące linie:
maxmemory 500mb
maxmemory-policy allkeys-lru
W tym scenariuszu przydzielono 500 MB pamięci dla Redis. Możesz dostosować tę ilość w oparciu o specyfikacje swojego serwera i wymagania aplikacji.
Gdy przypisana pamięć osiągnie pojemność, Redis usunie klucze zgodnie z polityką najmniej ostatnio używanych (LRU).
Konfigurowanie dostępu do sieci
Domyślnie Redis nasłuchuje tylko na interfejsie localhost. Możesz zmienić to ustawienie, aby umożliwić Redis nasłuchiwanie na wszystkich interfejsach lub określonych adresach IP/podsieciach.
Najpierw znajdź linię 69 w pliku konfiguracyjnym.
Opcja 1: Nasłuchiwanie wszystkich interfejsów sieciowych
Aby usługa Redis nasłuchiwała na wszystkich interfejsach sieciowych, możesz skomentować plik bind
linię, dodając a #
Na początku:
# bind 127.0.0.1 ::1
Opcja 2: Powiązanie z określonym adresem IP lub podsiecią
Aby powiązać Redis z określonym adresem IP lub podsiecią, zamień plik bind
zgodnie z preferowanym adresem IP lub podsiecią:
bind 0.0.0.0/0
Lub
bind 192.150.5.0/24
Podczas wiązania Redis z adresem IP lub podsiecią zdecydowanie zaleca się wymuszenie hasła w celu zwiększenia bezpieczeństwa.
Wymuszanie uwierzytelniania hasłem
Aby dodać dodatkową warstwę ochrony do instancji Redis, możesz ustawić hasło do uwierzytelniania.
Wyszukaj linię zaczynającą się od # requirepass
(około linii 507), odkomentuj go i ustaw silne hasło:
requirepass YourStrongPasswordHere
Zastępować YourStrongPasswordHere
za pomocą solidnego hasła zawierającego kombinację wielkich i małych liter, cyfr i symboli specjalnych.
Zatwierdzanie zmian i ponowne uruchamianie Redis
Po dokonaniu niezbędnych zmian w pliku konfiguracyjnym zapisz zmiany, naciskając Ctrl + O
, a następnie wyjdź z nano
edytor, naciskając Ctrl + X
.
Na koniec uruchom ponownie usługę Redis, aby zastosować nowe ustawienia:
sudo systemctl restart redis
To polecenie żąda od systemu zatrzymania usługi Redis i natychmiastowego uruchomienia jej ponownie, zapewniając w ten sposób działanie Redis zgodnie z nowymi ustawionymi parametrami konfiguracyjnymi.
Aby mieć pewność, że usługa Redis została pomyślnie zrestartowana i działa poprawnie, możesz sprawdzić status usługi, wykonując następujące polecenie:
sudo systemctl status redis
To polecenie zwróci informacje o usłudze Redis, w tym jej status (aktywny lub nieaktywny), czas działania i komunikaty dziennika, które mogłeś zobaczyć wcześniej podczas potwierdzania instalacji.
Skonfiguruj zaporę sieciową dla Redis za pomocą UFW
Zabezpieczenie serwera Redis wymaga skonfigurowania solidnej zapory ogniowej. Redis domyślnie nie zawiera zapory ogniowej. Ponadto Debian nie oferuje gotowego rozwiązania w postaci zapory ogniowej, chyba że jesteś biegły w posługiwaniu się iptables. Istnieje jednak prosta metoda, której możesz użyć, nawet jeśli jesteś początkujący. Metoda ta wykorzystuje Uncomplicated Firewall (UFW), przyjazne dla użytkownika narzędzie zapory sieciowej.
Upewnienie się, że UFW jest zainstalowany
Najpierw sprawdź, czy Twój serwer Debian ma UFW. Jeśli tak się nie stanie, użyj następującego polecenia, aby go zainstalować:
sudo apt install ufw -y
W tym poleceniu sudo
służy do wykonania polecenia z uprawnieniami roota, apt install
to polecenie instalujące pakiet, ufw
to pakiet do zainstalowania, oraz -y
to opcja, która automatycznie odpowiada „tak” na wszelkie monity, umożliwiając w ten sposób kontynuację instalacji bez dalszego udziału użytkownika.
Włączanie UFW
Po zainstalowaniu UFW należy go włączyć, aby zaczął działać i chronić system. Możesz włączyć UFW za pomocą tego polecenia:
sudo ufw enable
To polecenie nakazuje UFW aktywację i zastosowanie wszelkich reguł, które ustawiłeś lub które ustawisz.
Konfigurowanie reguł UFW dla Redis
Teraz, gdy UFW jest aktywowany, możesz go skonfigurować tak, aby chronił Twój serwer Redis. Może być konieczne skonfigurowanie różnych reguł zapory w zależności od konkretnej sytuacji i tego, czy instalacja Redis jest samodzielnym serwerem, czy częścią klastra.
Dla dodatkowej instancji sieciowego serwera IP
Jeśli masz samodzielny serwer Redis, który chcesz chronić za pomocą UFW, użyj tego polecenia:
sudo ufw allow proto tcp from <ip address> to any port 6379
Tutaj wymieniasz <ip address>
z adresem IP serwera, z którego chcesz zezwolić na połączenia. To polecenie informuje UFW, aby zezwolił na połączenia TCP z tego adresu IP z dowolnym systemem na porcie 6379, domyślnym porcie Redis.
Dla sieci klastrowej z wieloma instancjami
Jeśli pracujesz z klastrem serwerów Redis, możesz zezwolić na połączenia z całej podsieci. Aby to zrobić, użyj następującego polecenia:
sudo ufw allow proto tcp from <ip address>/24 to any port 6379
W tym poleceniu zamień <ip address>
z adresem IP podsieci, z której chcesz zezwolić na połączenia. Należy pamiętać, że to polecenie oznacza duże zaufanie do wszystkich urządzeń w tej podsieci, ponieważ otwiera dla nich wszystkich serwer Redis. Dlatego używaj tego polecenia tylko wtedy, gdy masz pewność, że Twoja sieć wewnętrzna jest bezpieczna.
Weryfikacja konfiguracji UFW
Po skonfigurowaniu reguł UFW niezbędne jest potwierdzenie, że działają zgodnie z przeznaczeniem. Podobnie jak na początku tego przewodnika wykonałeś polecenie ping do serwera Redis, aby upewnić się, że działa, możesz także przetestować nowe reguły zapory sieciowej. Można to zrobić za pomocą redis-cli
Komenda:
redis-cli -h <ip address> ping
Ponownie wymień <ip address>
z adresem IP Twojego serwera Redis. Jeśli reguły zapory sieciowej zostały poprawnie skonfigurowane, a serwer Redis działa tak, jak powinien, wyjściem tego polecenia powinno być proste pong
.
W tym poleceniu redis-cli
to interfejs wiersza poleceń dla Redis, -h
określa hosta (adres IP Twojego serwera) oraz ping
to polecenie sprawdzające łączność z serwerem Redis.
Interpretacja wyniku
Dane wyjściowe z redis-cli
Polecenie pomoże Ci potwierdzić, czy reguły zapory działają zgodnie z oczekiwaniami.
pong
To wyjście to dobry znak. A pong
odpowiedź wskazuje, że serwer Redis jest dostępny i gotowy do przyjmowania poleceń. Potwierdza, że reguły zapory sieciowej skonfigurowane w UFW działają poprawnie, umożliwiając serwerowi komunikację zgodnie z oczekiwaniami.
Dodatkowe przykłady konfiguracji Redis
Jak wspomniano wcześniej, Redis to elastyczny magazyn danych w pamięci z wieloma funkcjami. Można go używać do buforowania i przesyłania wiadomości. Zmiana pliku konfiguracyjnego pozwala sprawić, że Redis będzie działał tak, jak chcesz. Tutaj pokażemy więcej opcji konfiguracyjnych dla Redis.
Ustawianie zasad wygaśnięcia pary klucz-wartość
Aby ustawić domyślny czas życia (TTL) kluczy w Redis, zmień ustawienia maxmemory-policy i maxmemory-samples w pliku konfiguracyjnym. Użyj następującego polecenia, aby otworzyć plik:
sudo nano /etc/redis/redis.conf
Spójrz na maxmemory-policy
ustawienie i skonfiguruj je według własnych upodobań. Na przykład, jeśli chcesz ustalić zasady wygasania kluczy zgodnie z algorytmem Najrzadziej używane (LRU), zaktualizuj konfigurację w następujący sposób:
maxmemory-policy volatile-lru
Następnie zlokalizuj maxmemory-samples
ustawienie. Będzie to narzucać liczbę próbek, które Redis powinien sprawdzić, aby podjąć decyzję o eksmisji:
maxmemory-samples 5
Włączanie funkcji Keepalive protokołu TCP
Aktywacja funkcji utrzymywania aktywności protokołu TCP może pomóc w wykrywaniu i zamykaniu bezczynnych połączeń, co z kolei zwalnia cenne zasoby systemowe. Zlokalizuj tcp-keepalive
ustawienie w /etc/redis/redis.conf
plik, aby to włączyć:
tcp-keepalive 300
W tym przykładzie ustawiliśmy interwał utrzymywania aktywności na 300 sekund. Powinieneś dostosować tę liczbę do wymagań i warunków swojego serwera.
Konfigurowanie monitorowania powolnego dziennika
Powolne dzienniki stanowią cenny mechanizm umożliwiający lokalizowanie problemów z wydajnością. Robią to poprzez rejestrowanie zapytań, które przekraczają określony czas trwania. Znaleźć slowlog-log-slower-than
I slowlog-max-len
ustawienia w /etc/redis/redis.conf
plik do skonfigurowania wolnych dzienników:
slowlog-log-slower-than 10000
slowlog-max-len 128
Powyższy przykład ustawia próg slowlog na 10 000 mikrosekund (co odpowiada 10 milisekundom). Powolny dziennik będzie przechowywać 128 najnowszych wpisów. Należy dostosować te wartości, aby odpowiadały konkretnym wymaganiom i warunkom.
Włączanie powiadomień o zdarzeniach Redis
Redis może tworzyć powiadomienia o określonych zdarzeniach, zapewniając potężne narzędzie do monitorowania i debugowania. Aby aktywować powiadomienia o wydarzeniach, zlokalizuj notify-keyspace-events
ustawienie w /etc/redis/redis.conf
plik:
notify-keyspace-events ExA
Tutaj konfigurujemy Redis do wysyłania powiadomień o wygasłych i eksmitowanych kluczach. Oficjalna dokumentacja Redis to kompleksowe źródło informacji na temat powiadomień o wydarzeniach i dostępnych opcji.
Dostosowywanie poziomu rejestrowania Redis
Aby lepiej rozwiązywać problemy i monitorować Redis, zmień jego poziom rejestrowania. Możesz to zrobić w pliku /etc/redis/redis.conf, dostosowując ustawienie poziomu logowania:
loglevel notice
Ustawiliśmy domyślny poziom rejestrowania na „zawiadomienie”. Inne opcje to „debugowanie”, „pełne”, „powiadomienie” i „ostrzeżenie”. Wybierz poziom, który najlepiej odpowiada Twoim potrzebom.
sudo systemctl restart redis-server
To polecenie ponownie uruchamia Redis, a zmiany będą aktywne.
Zamykające myśli
Omówiliśmy instalację i konfigurację Redis na serwerach Debian 12, 11 i 10. Obejmuje to wstępną instalację, konfigurację zapory ogniowej pod kątem bezpieczeństwa i inne opcje dostosowywania. Redis ma wiele opcji konfiguracyjnych, dzięki czemu możesz dostosować jego wydajność i zachowanie do swoich potrzeb.