El manual de administración actual de Nextcloud aún documenta la extensión PhpRedis para el almacenamiento en caché de Redis y el bloqueo transaccional de archivos. También documenta un backend KeyValueCache más reciente, sin extensión, añadido en Nextcloud 34.0.2. Esta guía utiliza la configuración PhpRedis establecida porque Ubuntu 24.04 proporciona el paquete de extensión Redis para PHP 8.3. El backend más reciente es una opción si su versión de Nextcloud lo admite, pero sus claves de configuración difieren; no combine ambos ejemplos.
El resultado será un servicio Redis local disponible solo para el host de Nextcloud, caché distribuida y bloqueo de archivos con respaldo de Redis, y APCu para una caché local más rápida. Esta es una configuración común para un solo servidor. Si sus servidores web y PHP están distribuidos en diferentes hosts, utilice un punto final Redis compartido con los controles de red adecuados en lugar de la configuración de localhost que se muestra a continuación.
¿Qué cambios experimenta Redis en una instalación de Nextcloud?
Redis proporciona a Nextcloud un servicio de clave-valor para entradas de caché distribuidas y bloqueos de archivos transaccionales. Estos bloqueos ayudan a prevenir conflictos cuando varias solicitudes acceden a los archivos. Redis no reemplaza la base de datos, el almacenamiento de archivos, PHP OPcache ni el plan de copias de seguridad de Nextcloud. En un único servidor, APCu suele ser más rápido para el almacenamiento en caché local dentro del proceso, mientras que Redis gestiona la caché compartida y los bloqueos. Nextcloud advierte que no se recomienda usar Redis como caché local, especialmente con varios servidores web.
El manual más reciente de Nextcloud identifica a Redis como un backend compatible y especifica PhpRedis 2.2.6 o posterior para el método basado en extensiones. El archivo de paquetes de Ubuntu 24.04 incluye php8.3-redisy redis-server. Las revisiones de los paquetes pueden cambiar a medida que Ubuntu publica actualizaciones, por lo que se recomienda instalar desde los repositorios de Ubuntu configurados en lugar de fijar una versión copiada de una guía anterior. Referencias consultadas el 6 de octubre de 2026: documentación de almacenamiento en caché de memoria de Nextcloud , listado de paquetes PhpRedis de Ubuntu 24.04 y listado de paquetes del servidor Redis de Ubuntu 24.04 .
Antes de comenzar
- Confirme el directorio de instalación de Nextcloud y el entorno de ejecución de PHP utilizado por el sitio web. Los comandos a continuación asumen una instalación estándar de paquetes de Ubuntu con PHP 8.3, Apache o PHP-FPM y la cuenta de servicio web
www-data.
- Haz una copia de seguridad
config/config.phpy anota cómo restaurarla. La ruta exacta varía: por ejemplo, una instalación de paquete podría usar /var/www/nextcloud/config/config.php, mientras que una instalación manual podría estar en otro lugar.
- Utilice una ventana de mantenimiento si el servidor gestiona cargas de archivos activas. Reiniciar Apache o PHP-FPM interrumpe brevemente las solicitudes web.
1. Instale Redis, PhpRedis y APCu.
Actualizar los metadatos del paquete e instalar el demonio y las extensiones de PHP:
sudo apt update
sudo apt install redis-server php-redis php-apcu
El paquete de Ubuntu php-redisselecciona la extensión para la versión de PHP instalada. Si mantiene varias versiones de PHP o utiliza un repositorio de PHP de terceros, verifique que la extensión esté instalada para la versión exacta de PHP que sirve a Nextcloud. Un módulo habilitado para el entorno de ejecución de PHP de línea de comandos no garantiza que Apache o PHP-FPM puedan cargarlo.
Habilita Redis al arrancar el sistema e inícialo ahora, luego verifica su estado de servicio:
sudo systemctl enable --now redis-server
sudo systemctl status redis-server --no-pager
redis-cli ping
Una respuesta local correcta de Redis al último comando es PONG. Si el servicio está inactivo, verifique sudo journalctl -u redis-server -n 50 --no-pagerantes de cambiar la configuración de Nextcloud.
2. Mantén el oyente de Redis local.
Para una instalación en un solo host, Redis no necesita escuchar en una interfaz pública. La configuración empaquetada de Ubuntu normalmente está diseñada para acceso local y modo protegido; revísela /etc/redis/redis.confantes de modificarla:
sudo grep -E '^(bind|protected-mode|port|unixsocket)' /etc/redis/redis.conf
Mantenga Redis vinculado a loopback (comúnmente 127.0.0.1y ::1) y deje el modo protegido habilitado. No exponga el puerto 6379a Internet ni lo vincule a 0.0.0.0para esta configuración local. Después de cualquier cambio de configuración de Redis, reinicie el servicio y repita redis-cli ping.
Esta guía utiliza TCP en localhost para minimizar los cambios en los permisos del socket. Un socket Unix es otra opción local compatible que puede reducir la sobrecarga de la conexión, pero la ruta del socket de Redis, la propiedad del grupo, los permisos y la configuración de Nextcloud deben coincidir. Si elige esta opción, siga el ejemplo de socket del manual de Nextcloud.
3. Confirma que PHP puede cargar ambas extensiones.
Compruebe los módulos PHP de la línea de comandos:
php -m | grep -Ei '^(apcu|redis)$'
Deberías ver ambos nombres. Si falta alguno, comprueba los archivos del módulo habilitado php --inie instala el paquete correspondiente a tu versión de PHP. Reinicia el controlador PHP que usa el sitio web para que sus procesos carguen los nuevos módulos. Para Apache con mod_php, ejecuta sudo systemctl restart apache2. Para una instalación de PHP-FPM con PHP 8.3, ejecuta sudo systemctl restart php8.3-fpm; reinicia o recarga el servidor web según lo requiera tu implementación.
La comprobación mediante la interfaz de línea de comandos (CLI) es una primera señal útil, pero no una prueba definitiva del funcionamiento del entorno web. Posteriormente, utilice la configuración de administración de Nextcloud y la vista de información del servidor o de PHP para verificar que el proceso web reconoce los módulos de caché.
4. Añade la configuración de caché a Nextcloud.
Abre el archivo existente config/config.phpcon un editor. Primero, haz una copia de seguridad y fusiona estas entradas con el array PHP existente antes de cerrarlo );. No reemplaces todo el archivo ni añadas una segunda copia de las claves que ya están presentes.
'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
'host' => '127.0.0.1',
'port' => 6379,
],
La dirección de bucle invertido explícita coincide con el servicio Redis local. Si utiliza un socket Unix, use la ruta del socket como host de Redis y configure el demonio y los permisos correspondientes. Si Redis requiere autenticación, agregue el nombre de usuario y la contraseña correctos de la ACL de Redis al redisarray y configure Redis en consecuencia; nunca pegue una contraseña real en un ejemplo compartido o en una publicación de soporte público.
Mantenga sin cambios la configuración existente, como instanceidlas credenciales de la base de datos, los dominios de confianza y el directorio de datos. La sintaxis de los arrays de PHP es importante: mantenga las comas entre las entradas y asegúrese de que cada configuración aparezca solo una vez.
5. Validar la caché y el bloqueo de archivos.
Ejecute la comprobación de estado de Nextcloud desde la línea de comandos, desde el directorio de instalación, como usuario del servicio web. Reemplace la ruta de ejemplo si su instalación se encuentra en otra ubicación:
cd /var/www/nextcloud
sudo -u www-data php occ status
Comprueba la interfaz web en la configuración de administración para ver si hay advertencias de configuración y confirma que los módulos Redis y APCu sean visibles para el entorno de ejecución PHP web. A continuación, prueba las operaciones normales con un archivo pequeño y no crítico: cárgalo, cámbiale el nombre, descárgalo y elimínalo. La página de administración ya no debería indicar que falta una caché de memoria cuando la caché local esté configurada correctamente.
Un resultado positivo PONGsolo demuestra que Redis responde al cliente CLI local. La comprobación de administración de Nextcloud y las operaciones de archivos rutinarias ayudan a verificar la extensión PHP, los permisos del servidor web, la configuración de conexión de Redis y la configuración de la aplicación. No considere una carga de página más rápida durante una prueba como prueba de una mejora de rendimiento significativa; la carga de trabajo, el almacenamiento, la base de datos y la capacidad del proceso PHP influyen en el tiempo de respuesta.
Solución de problemas comunes
La página de administración sigue indicando que no hay caché de memoria.
Compruebe si hay una clave de caché duplicada o mal escrita, confirme que memcache.localapunta a APCu y reinicie el servicio Apache o PHP-FPM correcto. Una instalación de PHP solo con interfaz de línea de comandos puede ser diferente del entorno de ejecución de PHP utilizado por el sitio web.
Redis está funcionando, pero Nextcloud informa errores de conexión.
Compara el hosty porten config.phpcon el oyente en /etc/redis/redis.conf. Confirma el acceso local con redis-cli -h 127.0.0.1 -p 6379 pingy revisa los registros de Redis y del servidor web. Si usas un socket o contraseña, verifica que su ruta o credenciales coincidan en ambos lados.
Las operaciones de archivo fallan después del cambio.
Si la instancia deja de funcionar, restaure temporalmente la copia de seguridad config.phpy, a continuación, revise los registros de PHP y del servidor web. Compruebe la puntuación de los arrays, confirme que el servicio Redis esté activo y verifique que ningún cortafuegos ni ACL de Redis personalizada esté bloqueando el proceso web. Evite borrar los datos de Redis como primer paso para solucionar problemas; investigue la conexión y la configuración antes de eliminar entradas de caché o bloqueo.
Lo que esta configuración no cubre
Esta es una configuración de servidor único, no un diseño de Redis de alta disponibilidad. No configura la replicación de Redis, Sentinel, TLS, un servidor de caché remoto, almacenamiento de sesiones ni una implementación en clúster de Nextcloud. Los nodos de Nextcloud con varios servidores deben compartir el mismo sistema de caché distribuida y bloqueo; usar localhost en cada nodo crearía instancias de Redis independientes e incumpliría este requisito. Para una topología remota o en clúster, siga la sección de configuración de Nextcloud correspondiente y asegure las comunicaciones de Redis para ese entorno.
Una vez que la configuración sea estable, supervise el uso de memoria de Redis y la vista general de administración de Nextcloud. Asigne suficiente memoria para la caché y la actividad de bloqueo, evite las políticas de desalojo no revisadas que podrían descartar datos de bloqueo y mantenga copias de seguridad periódicas de la base de datos y los archivos. El almacenamiento en caché de Redis puede reducir la sobrecarga de caché y bloqueo, pero es solo una parte de una instalación de Nextcloud saludable, no un sustituto de la planificación de capacidad.