Konfigurowanie Redis dla przechowywania sesji PHP w Linux
- 3987
- 952
- Laura Zygmunt
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 nginx12 | sudo 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"12 | sesja.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)123 | Sudo 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ą:
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 "1 sesja.save_path = "tcp: // localhost: 6379?auth = your_secure_password " - 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
1 Zapisz 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.
Uruchom ponownie usługę Redis i Twój serwer WWW, aby zastosować zmiany.
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.
- « Jak sprawdzić, czy plik nie istnieje w Bash
- Jak klonować wszystkie zdalne gałęzie w repozytorium GIT »