Einrichten von Redis für den PHP -Sitzungsspeicher unter Linux
- 1680
- 170
- Aileen Dylus
Redis ist ein In-Memory-Datenstrukturspeicher, der häufig als Datenbank, Cache und Message Broker verwendet wird. Es ist besonders nützlich, um PHP -Sitzungen aufgrund seiner hohen Leistung, geringen Latenz und Datenpersistenzfunktion. In diesem Artikel führen wir Sie durch den gesamten Prozess der Installation, Konfiguration und Verwendung von Redis als Sitzungsspeicher für PHP -Anwendungen.
Installieren von Redis in Ihrem System
Zuerst müssen Sie Redis auf Ihrer Linux -Verteilung installieren. Der Installationsprozess variiert je nach Paketmanager, die von Ihrer Verteilung verwendet werden. Hier sind einige Beispiele:
- Für Debian-basierte Systeme (e).G., Ubuntu), verwenden Sie den APT -Paketmanager:
sudo APT -Update
sudo apt installieren Redis-Server
- Für rhelbasierte Systeme (e).G., CentOS, Fedora), verwenden Sie den YUM -Paketmanager:
sudo yum install Redis
- Verwenden Sie für Arch Linux den Pacman -Paketmanager:
sudo pacman -s Redis
Nach der Installation aktivieren und starten Sie den Redis -Dienst:
sudo systemctl ermöglichen Redis
sudo systemctl starten redis
Installation der PHP Redis -Erweiterung
Um Redis für PHP -Sitzungen zu verwenden, müssen Sie die PHP Redis -Erweiterung installieren. Der Installationsprozess hängt von Ihrer PHP -Version und Ihrem Paketmanager ab.
- Für Debian-basierte Systeme (e).G., Ubuntu), verwenden Sie den APT -Paketmanager:
sudo apt installieren php-redis
- Für rhelbasierte Systeme (e).G., CentOS, Fedora), verwenden Sie den YUM -Paketmanager:
sudo yum installieren Sie PHP-PECL-Redis
Verwenden Sie für Arch Linux den Pacman -Paketmanager:
sudo pacman -s php -redis
Starten Sie nach der Installation Ihren Webserver neu, um die PHP -Redis -Erweiterung zu laden:
sudo systemctl starten Sie Apache2 # für Apache sudo systemCTL neu starten Sie Nginx # für nginx neu12 | sudo systemctl starten Sie Apache2 # für apachesudo systemctl neu starten Sie Nginx # für Nginx neu |
Konfigurieren von PHP für die Sitzungsverwaltung zur Verwendung von Redis
Um PHP so zu konfigurieren, dass Redis für die Sitzungsverwaltung verwendet wird, bearbeiten Sie Ihre 'Php.Ini ' Datei (typischerweise gefunden in '/etc/php/Version/fpm/' ' oder '/etc/Php/Version/Apache2/' für debianbasierte Systeme oder '/etc/php.Ini ' für rhelbasierte Systeme). Fügen Sie die folgenden Zeilen hinzu oder ändern Sie:
Sitzung.SAVE_HANDLER = Redis Session.save_path = "tcp: // localhost: 6379"12 | Sitzung.Save_handler = Redissession.save_path = "tcp: // localhost: 6379" |
Ersetzen Sie Localhost durch die IP -Adresse Ihres Redis -Servers, wenn sie nicht auf demselben Computer wie Ihre PHP -Anwendung ausgeführt wird. Ersetzen '6379' Mit der entsprechenden Portnummer, wenn Ihr Redis -Server auf einem anderen Port ausgeführt wird.
Nach dem Bearbeiten des PHP.Ini -Datei, starten Sie Ihren Webserver neu, um die Änderungen anzuwenden:
sudo systemCTL starten Sie Apache2 # für Apache sudo systemctl neu starten nginx # für nginx sudo systemctl starten Sie PHP-FPM # für PHP-FPM (falls zutreffend) neu starten123 | sudo systemctl starten Sie Apache2 # für apachesudo systemCTL neu starten nginx # für nginxsudo systemctl starten Sie PHP-FPM # für PHP-FPM (falls zutreffend) neu starten |
Testen von Redis-betriebenen PHP-Sitzungen
Um zu testen, ob Ihre PHP -Anwendung Redis für die Sitzungsverwaltung verwendet, erstellen Sie ein einfaches PHP -Skript mit folgenden Inhalten:
Speichern Sie dieses Skript als 'Session_test.PHP ' und laden Sie es auf Ihren Webserver hoch. Greifen Sie in Ihrem Webbrowser auf das Skript zu. Der Zähler sollte auf jeder Seite aktualisiert werden und bestätigen, dass PHP -Sitzungen in Redis gespeichert werden.
Sicherung und Optimierung Ihrer Redis-betriebenen PHP-Sitzungen
Für Produktionsumgebungen ist es wichtig, Ihre Redis-betriebenen PHP-Sitzungen zu sichern und zu optimieren, um eine hohe Leistung und Datenintegrität zu gewährleisten. Hier sind einige Empfehlungen:
- Konfigurieren Sie die Redis -Passwort -Authentifizierung: Bearbeiten Sie Ihre Redis -Konfigurationsdatei (normalerweise in gefunden in '/etc/Redis/Redis.Conf ') und setzen Sie die "Bedarf" Richtlinie zu einem starken Passwort:
Erfordernis ist Ihr_Secure_Password
Aktualisieren Sie dann Ihre 'Php.Ini ' Datei, um das Passwort in die 'Sitzung.SAVE_PATH ':
Sitzung.save_path = "tcp: // localhost: 6379?auth = your_secure_password "1 Sitzung.save_path = "tcp: // localhost: 6379?auth = your_secure_password " - Aktivieren Sie die Wiederherstellung der Datendatendauer: Standardmäßig speichert Redis nur Daten im Speicher. Aktivieren Sie die Sitzungsdaten auf der Festplatte, um RDB -Snapshots oder AOF -Protokollierung in Ihrer Redis -Konfigurationsdatei zu aktivieren. Zum Beispiel, um RDB -Schnappschüsse zu ermöglichen, die folgende Zeile in die folgende Zeile zu ermöglichen '/etc/Redis/Redis.Conf ': Speichern Sie 900 1
1 Speichern Sie 900 1 Diese Konfiguration erstellt alle 15 Minuten einen Schnappschuss der Redis -Daten, wenn mindestens ein Schlüssel geändert wurde.
- Optimieren Sie Redis -Einstellungen: Abhängig von den Ressourcen Ihres Servers und der Anforderungen Ihrer Anwendung müssen Sie möglicherweise die Redis -Einstellungen optimieren, um die beste Leistung zu erzielen. Einige Optionen sind das Optimieren der "MaxMemory" Richtlinie, Anpassung der "MaxMemory-Policy", und Feinabstimmung des Zeitüberschreitungswerts.
- Überwachen Sie die Redis -Leistung: Überwachen Sie regelmäßig die Leistung Ihres Redis -Servers mithilfe von Tools wie "Redis-Cli", 'Redis-Stat' ', oder 'Redis_exporter' potenzielle Engpässe oder Probleme zu identifizieren.
Starten Sie den Redis -Dienst und Ihren Webserver neu, um die Änderungen anzuwenden.
Abschluss
Diese vollständige Vorgehensweise hat Ihnen gezeigt, wie Sie Redis als Session Store für PHP -Anwendungen installieren, konfigurieren und verwenden können. Durch die Nutzung von Redis für das PHP -Sitzungsmanagement können Sie die Leistung und Skalierbarkeit Ihrer Webanwendungen erheblich verbessern. Vergewissern Sie sich.
- « So überprüfen Sie, ob eine Datei in Bash nicht vorhanden ist
- So klonen Sie alle entfernten Zweige im Git -Repository »