Configuración de Redis para el almacenamiento de la sesión de PHP en Linux
- 1959
- 300
- Jaime Delgadillo
Redis es un almacén de estructura de datos en memoria, ampliamente utilizado como base de datos, caché y corredor de mensajes. Es particularmente útil para administrar las sesiones de PHP debido a su alto rendimiento, baja latencia y capacidades de persistencia de datos. En este artículo, lo guiaremos a través de todo el proceso de instalación, configuración y uso de Redis como almacén de sesión para aplicaciones PHP.
Instalación de Redis en su sistema
Primero, debe instalar Redis en su distribución de Linux. El proceso de instalación varía según el administrador de paquetes utilizado por su distribución. Aquí hay unos ejemplos:
- Para sistemas basados en Debian (E.gramo., Ubuntu), use el Administrador de paquetes APT:
Actualización de sudo apto
Sudo Apt Install Redis-Server
- Para sistemas basados en Rhel (E.gramo., Centos, Fedora), use el Administrador de paquetes YUM:
sudo yum instalación redis
- Para Arch Linux, use el Pacman Package Manager:
Sudo Pacman -S Redis
Después de la instalación, habilite e inicie el servicio Redis:
sudo systemctl habilita redis
sudo systemctl iniciar redis
Instalación de la extensión PHP Redis
Para usar Redis para las sesiones de PHP, debe instalar la extensión PHP Redis. El proceso de instalación depende de su versión de PHP y administrador de paquetes.
- Para sistemas basados en Debian (E.gramo., Ubuntu), use el Administrador de paquetes APT:
sudo apt install php-redis
- Para sistemas basados en Rhel (E.gramo., Centos, Fedora), use el Administrador de paquetes YUM:
sudo yum instalar Php-Pecl-Redis
Para Arch Linux, use el Pacman Package Manager:
sudo Pacman -S PHP -Redis
Después de la instalación, reinicie su servidor web para cargar la extensión PHP Redis:
sudo systemCTL reiniciar apache2 # para apache sudo systemctl reiniciar nginx # para nginx12 | SUDO SystemCTL reiniciar apache2 # para apachesudo systemctl reiniciar nginx # para nginx |
Configuración de PHP para usar Redis para la administración de sesiones
Para configurar PHP para usar Redis para la administración de sesiones, edite su 'PHP.ini ' archivo (generalmente encontrado en '/etc/php/versión/fpm/' o '/etc/php/versión/apache2/' para sistemas basados en Debian, o '/etc/php.ini ' para sistemas basados en Rhel). Agregar o modificar las siguientes líneas:
sesión.save_handler = sesión Redis.save_path = "tcp: // localhost: 6379"12 | sesión.save_handler = redission.save_path = "tcp: // localhost: 6379" |
Reemplace localhost con la dirección IP de su servidor Redis si no se ejecuta en la misma máquina que su aplicación PHP. Reemplazar '6379' con el número de puerto apropiado si su servidor Redis se ejecuta en un puerto diferente.
Después de editar el PHP.Archivo INI, reinicie su servidor web para aplicar los cambios:
SUDO SYSTEMCTL Reiniciar Apache2 # para Apache sudo SystemCTL reiniciar nginx # para nginx sudo systemctl reiniciar php-fpm # para php-fpm (si corresponde)123 | SUDO SYSTEMCTL Reiniciar Apache2 # para Apachesudo SystemCTL reiniciar nginx # para nginxsudo systemctl reiniciar php-fpm # para php-fpm (si corresponde) |
Prueba de sesiones de PHP con alimentación de redis
Para probar si su aplicación PHP está utilizando Redis para la administración de sesión, cree un script PHP simple con el siguiente contenido:
Guarde este script como 'session_test.php ' y subirlo a su servidor web. Acceda al script en su navegador web. El contador debe incrementar en cada página actualizar, confirmando que las sesiones de PHP se están almacenando en Redis.
Asegurar y optimizar sus sesiones de PHP con redis redis
Para los entornos de producción, es esencial asegurar y optimizar sus sesiones de PHP con redis para garantizar el alto rendimiento y la integridad de los datos. Aquí hay algunas recomendaciones:
- Configurar la autenticación de contraseña de Redis: Edite su archivo de configuración de Redis (generalmente encontrado en '/etc/Redis/Redis.conflicto) y configure el 'Requastepass' Directiva a una contraseña segura:
RequastEpass Your_Seecure_Password
Entonces, actualice su 'PHP.ini ' archivo para incluir la contraseña en el 'sesión.save_path ':
sesión.save_path = "tcp: // localhost: 6379?auth = your_secure_password "1 sesión.save_path = "tcp: // localhost: 6379?auth = your_secure_password " - Habilitar la persistencia de los datos de Redis: Por defecto, Redis almacena datos solo en la memoria. Para persistir los datos de la sesión en el disco, habilite las instantáneas de RDB o el registro de AOF en su archivo de configuración de Redis. Por ejemplo, para habilitar las instantáneas de RDB, la falta o agregar la siguiente línea en '/etc/Redis/Redis.conflicto: ahorrar 900 1
1 ahorrar 900 1 Esta configuración creará una instantánea de los datos de Redis cada 15 minutos si se ha modificado al menos una clave.
- Optimizar la configuración de Redis: Dependiendo de los recursos de su servidor y los requisitos de su aplicación, es posible que deba optimizar la configuración de Redis para lograr el mejor rendimiento. Algunas opciones incluyen ajustar el 'MaxMemory' directiva, ajustando el 'MaxMemory-Policy', y ajustar el valor del tiempo de espera.
- Monitorear el rendimiento de Redis: Monitoree regularmente el rendimiento de su servidor Redis utilizando herramientas como 'Redis-Cli', 'Redis-Stat', o 'Redis_Exporter' para identificar posibles cuellos de botella o problemas.
Reinicie el servicio Redis y su servidor web para aplicar los cambios.
Conclusión
Este tutorial completo le ha mostrado cómo instalar, configurar y usar Redis como almacén de sesión para aplicaciones PHP. Al aprovechar Redis para la gestión de sesiones de PHP, puede mejorar significativamente el rendimiento y la escalabilidad de sus aplicaciones web. Asegúrese de seguir las mejores prácticas para asegurar y optimizar sus sesiones de PHP con redis para garantizar la mejor experiencia del usuario posible y mantener la integridad de sus datos de sesión.
- « Cómo verificar si un archivo no existe en Bash
- Cómo clonar todas las ramas remotas en el repositorio de Git »