Konfigurowanie Redis dla przechowywania sesji PHP w Linux

Konfigurowanie Redis dla przechowywania sesji PHP w Linux

Redis to w pamięci sklep struktury danych, powszechnie używany jako broker bazy danych, pamięci podręcznej i wiadomości. Jest to szczególnie przydatne do zarządzania sesjami PHP ze względu. W tym artykule poprowadzimy cały proces instalowania, konfigurowania i używania Redis jako sklepu sesji dla aplikacji PHP.

Instalowanie Redis w twoim systemie

Najpierw musisz zainstalować Redis w dystrybucji Linux. Proces instalacji różni się w zależności od menedżera pakietu używanego przez dystrybucję. Oto kilka przykładów:

  • Dla systemów opartych na debian (e.G., Ubuntu), użyj Menedżera pakietów Apt:
    Aktualizacja sudo apt  sudo apt instint redis-server  
  • Dla systemów opartych na RHEL (e.G., Centos, Fedora), użyj Menedżera pakietu Yum:
    sudo yum instaluj redis  
  • W przypadku Arch Linux użyj menedżera pakietów Pacman:
    sudo pacman -s redis  

Po instalacji włącz i uruchom usługę Redis:

Sudo Systemctl Włącz Redis  sudo systemctl start redis  

Instalowanie rozszerzenia PHP Redis

Aby użyć Redis do sesji PHP, musisz zainstalować rozszerzenie PHP Redis. Proces instalacji zależy od wersji PHP i menedżera pakietów.

  • Dla systemów opartych na debian (e.G., Ubuntu), użyj Menedżera pakietów Apt:
    sudo apt instal PHP-Redis  
  • Dla systemów opartych na RHEL (e.G., Centos, Fedora), użyj Menedżera pakietu Yum:
    sudo yum instaluj php-pecl-redis  
  • W przypadku Arch Linux użyj menedżera pakietów Pacman:

    sudo pacman -s php -redis  

Po instalacji uruchom ponownie serwer WWW, aby załadować rozszerzenie PHP Redis:

sudo systemctl restartuj apache2 # dla apache sudo systemctl restart nginx # dla nginx
12sudo systemctl restartuj apache2 # dla apachesudo systemctl restart nginx # dla nginx

Konfigurowanie PHP do używania Redis do zarządzania sesją

Aby skonfigurować PHP do używania Redis do zarządzania sesją, edytuj swój 'php.ini ' plik (zwykle występujący w „/etc/php/version/fpm/” Lub '/etc/php/version/apache2/' dla systemów opartych na debian lub '/etc/php.ini ' dla systemów opartych na RHEL). Dodaj lub zmodyfikuj następujące wiersze:

sesja.save_handler = sesja redis.save_path = "tcp: // localhost: 6379"
12sesja.Save_Handler = redissession.save_path = "tcp: // localhost: 6379"

Zastąp LocalHost adresem IP swojego serwera Redis, jeśli nie działa na tym samym komputerze, co aplikacja PHP. Zastępować „6379” z odpowiednim numerem portu, jeśli serwer Redis działa na innym porcie.

Po edycji PHP.Plik INI, uruchom ponownie serwer WWW, aby zastosować zmiany:

sudo systemctl restartuj apache2 # dla apache sudo systemctl restart nginx # dla nginx sudo systemctl restart php-fpm # dla php-fpm (jeśli dotyczy)
123Sudo Systemctl restartuj apache2 # dla apachesudo systemctl restart nginx # dla nginxSudo Systemctl restart php-fpm # dla php-fpm (jeśli dotyczy)

Testowanie sesji PHP z napędem Redis

Aby sprawdzić, czy aplikacja PHP korzysta z Redis do zarządzania sesją, utwórz prosty skrypt PHP z następującą zawartością:

12345678910

Zapisz ten skrypt jako 'session_test.php ' i prześlij go na swój serwer WWW. Uzyskaj dostęp do skryptu w przeglądarce internetowej. Licznik powinien zwiększyć na każdej stronie odświeżanie, potwierdzając, że sesje PHP są przechowywane w Redis.

Zabezpieczenie i optymalizacja sesji PHP z napędem Redis

W środowiskach produkcyjnych niezbędne jest zabezpieczenie i optymaliza. Oto kilka zaleceń:

  • Skonfiguruj uwierzytelnianie hasła Redis: Edytuj swój plik konfiguracyjny Redis (zwykle występujący w '/etc/redis/redis.conf ') i ustaw „wymaganie” dyrektywa do silnego hasła:
    Wymaganie, aby twój_secure_password  

    Następnie zaktualizuj 'php.ini ' plik zawierający hasło w 'sesja.Zapisz ścieżkę':

    sesja.save_path = "tcp: // localhost: 6379?auth = your_secure_password "
    1sesja.save_path = "tcp: // localhost: 6379?auth = your_secure_password "

  • Uruchom ponownie usługę Redis i Twój serwer WWW, aby zastosować zmiany.

  • Włącz trwałość danych Redis: Domyślnie Redis przechowuje dane tylko w pamięci. Aby przetrwać dane sesji na dysku, włącz migawki RDB lub logowanie AOF w pliku konfiguracyjnym Redis. Na przykład, aby włączyć migawki RDB, odkształcić lub dodać następujący wiersz '/etc/redis/redis.conf ': Zapisz 900 1
    1Zapisz 900 1

    Ta konfiguracja utworzy migawkę danych Redis co 15 minut, jeśli co najmniej jeden klucz został zmodyfikowany.

  • Zoptymalizuj ustawienia Redis: W zależności od zasobów serwera i wymagań aplikacji może być konieczne zoptymalizowanie ustawień Redis, aby osiągnąć najlepszą wydajność. Niektóre opcje obejmują ulepszenie „Maxmemory” dyrektywa, dostosowanie „MaxMemory-Policy”, i dopracowanie wartości limitu czasu.
  • Monitoruj wydajność Redis: Regularnie monitoruj wydajność serwera Redis za pomocą narzędzi takich „redis-cli”, „Redis-Stat”, Lub „redis_exporter” zidentyfikować potencjalne wąskie gardła lub problemy.

Wniosek

Ten pełny przewodnik pokazał, jak instalować, konfigurować i używać Redis jako sklep sesji dla aplikacji PHP. Wykorzystując Redis do zarządzania sesjami PHP, możesz znacznie poprawić wydajność i skalowalność swoich aplikacji internetowych. Pamiętaj, aby postępować zgodnie z najlepszymi praktykami w zakresie zabezpieczania i optymalizacji sesji PHP z zasilaniem Redis, aby zapewnić najlepszą możliwą wrażenia użytkownika i zachować integralność danych sesji.