Configuration de Redis pour le stockage de session PHP sur Linux

Configuration de Redis pour le stockage de session PHP sur Linux

Redis est un magasin de structure de données en mémoire, largement utilisé comme courtier de données, de cache et de messages. Il est particulièrement utile pour gérer les séances PHP en raison de ses capacités élevées de performances, de faible latence et de persistance des données. Dans cet article, nous vous guiderons à travers l'ensemble du processus d'installation, de configuration et d'utilisation de Redis comme magasin de session pour les applications PHP.

Installation de redis sur votre système

Tout d'abord, vous devez installer Redis sur votre distribution Linux. Le processus d'installation varie en fonction du gestionnaire de packages utilisé par votre distribution. Voici quelques exemples:

  • Pour les systèmes basés à Debian (E.g., Ubuntu), utilisez le gestionnaire de packages APT:
    Mise à jour Sudo Apt  sudo apt installer redis-server  
  • Pour les systèmes basés sur RHEL (E.g., Centos, Fedora), utilisez le gestionnaire de packages Yum:
    sudo yum install redis  
  • Pour Arch Linux, utilisez le Pacman Package Manager:
    Sudo Pacman -s redis  

Après l'installation, activez et démarrez le service redis:

sudo systemctl activer redis  sudo systemctl start redis  

Installation de l'extension PHP Redis

Pour utiliser Redis pour les séances PHP, vous devez installer l'extension PHP Redis. Le processus d'installation dépend de votre version PHP et de votre gestionnaire de packages.

  • Pour les systèmes basés à Debian (E.g., Ubuntu), utilisez le gestionnaire de packages APT:
    sudo apt installer php-redis  
  • Pour les systèmes basés sur RHEL (E.g., Centos, Fedora), utilisez le gestionnaire de packages Yum:
    sudo yum installer php-pecl-redis  
  • Pour Arch Linux, utilisez le Pacman Package Manager:

    sudo pacman -s php-redis  

Après l'installation, redémarrez votre serveur Web pour charger l'extension PHP Redis:

sudo systemctl redémarrer apache2 # pour apache sudo systemctl redémarrer nginx # pour nginx
12sudo systemctl redémarrer apache2 # pour apachesudo systemctl redémarrer nginx # pour nginx

Configuration de PHP pour utiliser Redis pour la gestion de session

Pour configurer PHP pour utiliser Redis pour la gestion de session, modifiez votre 'PHP.ini ' fichier (généralement trouvé dans '/ etc / php / version / fpm /' ou '/ etc / php / version / apache2 /' pour les systèmes basés à Debian, ou '/ etc / php.ini ' pour les systèmes basés sur RHEL). Ajouter ou modifier les lignes suivantes:

session.SAVE_HANDLER = SESSION DE REDIS.Save_Path = "TCP: // LocalHost: 6379"
12session.Save_Handler = Redesses.Save_Path = "TCP: // LocalHost: 6379"

Remplacez LocalHost par l'adresse IP de votre serveur Redis s'il ne fonctionne pas sur la même machine que votre application PHP. Remplacer '6379' avec le numéro de port approprié si votre serveur Redis s'exécute sur un autre port.

Après avoir modifié le php.Fichier INI, redémarrez votre serveur Web pour appliquer les modifications:

sudo systemctl redémarrer apache2 # pour apache sudo systemctl redémarrer nginx # pour nginx sudo systemctl redémarrer php-fpm # pour php-fpm (le cas échéant)
123sudo systemctl redémarrer apache2 # pour apachesudo systemctl redémarrer nginx # pour nginxsudo systemctl redémarrer php-fpm # pour php-fpm (le cas échéant)

Test des séances PHP propulsées par redis

Pour tester si votre application PHP utilise Redis pour la gestion de session, créez un script PHP simple avec le contenu suivant:

12345678910

Enregistrez ce script en tant que 'Session_test.php ' et le télécharger sur votre serveur Web. Accéder au script dans votre navigateur Web. Le compteur doit augmenter sur chaque page de rafraîchir, confirmant que les séances PHP sont stockées dans Redis.

Sécuriser et optimiser vos séances PHP alimentées par redis

Pour les environnements de production, il est essentiel de sécuriser et d'optimiser vos séances PHP alimentées par redis pour garantir des performances élevées et une intégrité des données. Voici quelques recommandations:

  • Configurer l'authentification du mot de passe redis: Modifiez votre fichier de configuration Redis (généralement trouvé dans '/ etc / redis / redis.confort) et définir le 'BesoinPass' Directive à un mot de passe fort:
    Besoin depass votre_secure_password  

    Ensuite, mettez à jour votre 'PHP.ini ' fichier pour inclure le mot de passe dans le 'session.Enregistrer le chemin':

    session.Save_path = "TCP: // LocalHost: 6379?auth = your_secure_password "
    1session.Save_path = "TCP: // LocalHost: 6379?auth = your_secure_password "

  • Redémarrez le service Redis et votre serveur Web pour appliquer les modifications.

  • Activer la persistance des données de redis: Par défaut, Redis stocke les données en mémoire uniquement. Pour persister des données de session sur le disque, activez les instantanés RDB ou la connexion AOF dans votre fichier de configuration redis. Par exemple, pour activer les instantanés RDB, l'inconnue ou ajouter la ligne suivante dans '/ etc / redis / redis.confort: Enregistrer 900 1
    1Économisez 900 1

    Cette configuration créera un instantané des données redis toutes les 15 minutes si au moins une clé a été modifiée.

  • Optimiser les paramètres de redis: Selon les ressources de votre serveur et les exigences de votre application, vous devrez peut-être optimiser les paramètres Redis pour obtenir les meilleures performances. Certaines options incluent peaufiner le 'Maxmemory' directive, ajustant le 'Maxmemory-Policy', et affiner la valeur de délai d'expiration.
  • Performance de moniteur Redis: Surveillez régulièrement les performances de votre serveur Redis à l'aide d'outils comme 'redis-Cli', 'redis-stat', ou 'redis_exporter' Pour identifier les goulots d'étranglement potentiels.

Conclusion

Cette procédure pas à pas complète vous a montré comment installer, configurer et utiliser Redis comme magasin de session pour les applications PHP. En tirant parti de Redis pour la gestion des sessions PHP, vous pouvez améliorer considérablement les performances et l'évolutivité de vos applications Web. Assurez-vous de suivre les meilleures pratiques pour sécuriser et optimiser vos séances PHP alimentées par Redis pour assurer la meilleure expérience utilisateur possible et maintenir l'intégrité de vos données de session.