Configuration de Redis pour le stockage de session PHP sur Linux
- 3431
- 1074
- Clara Nguyen
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 nginx12 | sudo 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"12 | session.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)123 | sudo 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:
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 "1 session.Save_path = "TCP: // LocalHost: 6379?auth = your_secure_password " - 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.
Redémarrez le service Redis et votre serveur Web pour appliquer les modifications.
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.
- « Comment vérifier si un fichier n'existe pas dans Bash
- Comment cloner toutes les branches distantes du référentiel GIT »