Einrichten von Redis für den PHP -Sitzungsspeicher unter Linux

Einrichten von Redis für den PHP -Sitzungsspeicher unter Linux

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 neu
12sudo 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"
12Sitzung.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 starten
123sudo 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:

12345678910

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 "
    1Sitzung.save_path = "tcp: // localhost: 6379?auth = your_secure_password "

  • Starten Sie den Redis -Dienst und Ihren Webserver neu, um die Änderungen anzuwenden.

  • 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
    1Speichern 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.

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.