O manual de administração atual do Nextcloud ainda documenta a extensão PhpRedis para cache Redis e bloqueio transacional de arquivos. Ele também documenta um backend KeyValueCache mais recente, que não requer extensão, adicionado no Nextcloud 34.0.2. Este guia utiliza a configuração PhpRedis estabelecida porque o Ubuntu 24.04 fornece o pacote de extensão Redis para PHP 8.3. O backend mais recente é uma opção quando a sua versão do Nextcloud o suporta, mas suas chaves de configuração são diferentes; não misture os dois exemplos.
O resultado será um serviço Redis local disponível apenas para o host do Nextcloud, cache distribuído com suporte do Redis e bloqueio de arquivos, além do APCu para um cache local mais rápido. Essa é uma configuração comum para um único servidor. Se seus servidores web e PHP estiverem distribuídos em diferentes hosts, utilize um endpoint Redis compartilhado com controles de rede apropriados em vez das configurações de localhost abaixo.
O que o Redis altera em uma instalação do Nextcloud?
O Redis fornece ao Nextcloud um serviço de chave-valor para entradas de cache distribuídas e bloqueios de arquivos transacionais. Esses bloqueios ajudam a evitar conflitos de operações quando várias requisições interagem com os mesmos arquivos. O Redis não substitui o banco de dados, o armazenamento de arquivos, o PHP OPcache ou o plano de backup do Nextcloud. Em um único servidor, o APCu geralmente é mais rápido para cache local em processo, enquanto o Redis lida com cache compartilhado e bloqueios. O Nextcloud também alerta que o uso do Redis como cache local não é recomendado, principalmente com múltiplos servidores web.
O manual mais recente do Nextcloud identifica o Redis como um backend compatível e especifica o PhpRedis 2.2.6 ou superior para o método baseado em extensões. O repositório de pacotes do Ubuntu 24.04 inclui o PhpRedis php8.3-redise o Redis redis-server. As revisões dos pacotes podem mudar conforme o Ubuntu publica atualizações, portanto, instale a partir dos repositórios do Ubuntu configurados, em vez de fixar uma versão copiada de um guia antigo. Referências consultadas em 6 de outubro de 2026: Documentação sobre cache de memória do Nextcloud , lista de pacotes do PhpRedis no Ubuntu 24.04 e lista de pacotes do servidor Redis no Ubuntu 24.04 .
Antes de começar
- Confirme o diretório de instalação do Nextcloud e o ambiente de execução PHP usado pelo site. Os comandos abaixo pressupõem uma instalação padrão do Ubuntu com PHP 8.3, Apache ou PHP-FPM e a conta de serviço web
www-data.
- Faça um backup
config/config.phpe anote como restaurá-lo. O caminho exato varia: por exemplo, uma instalação de pacote pode usar `/usr/local/ /var/www/nextcloud/config/config.phpbin`, enquanto uma instalação manual pode estar em outro local.
- Utilize uma janela de manutenção se o servidor estiver processando uploads de arquivos ativos. Reiniciar o Apache ou o PHP-FPM interrompe brevemente as requisições web.
1. Instale o Redis, o PhpRedis e o APCu.
Atualize os metadados do pacote e instale o daemon e as extensões do PHP:
sudo apt update
sudo apt install redis-server php-redis php-apcu
O pacote do Ubuntu php-redisseleciona a extensão para a versão do PHP instalada. Se você mantém várias versões do PHP ou usa um repositório PHP de terceiros, verifique se a extensão está instalada para a versão exata do PHP que serve o Nextcloud. Um módulo habilitado apenas para o ambiente de execução PHP da linha de comando não garante que o Apache ou o PHP-FPM consigam carregá-lo.
Habilite o Redis na inicialização do sistema e inicie-o agora. Em seguida, verifique o estado do serviço:
sudo systemctl enable --now redis-server
sudo systemctl status redis-server --no-pager
redis-cli ping
Uma resposta local saudável do Redis ao último comando é PONG. Se o serviço estiver inativo, verifique sudo journalctl -u redis-server -n 50 --no-pagerantes de alterar a configuração do Nextcloud.
2. Mantenha o listener do Redis local.
Para uma instalação em um único host, o Redis não precisa escutar em uma interface pública. A configuração padrão do Ubuntu geralmente é projetada para acesso local e modo protegido; verifique-a /etc/redis/redis.confantes de alterá-la.
sudo grep -E '^(bind|protected-mode|port|unixsocket)' /etc/redis/redis.conf
Mantenha o Redis vinculado ao loopback (normalmente `/ 127.0.0.1etc/systemd ::1/system` e `/etc/systemd/system`) e deixe o modo protegido ativado. Não exponha a porta 80 6379à internet nem vincule 0.0.0.0o serviço à porta 808 para esta configuração local. Após qualquer alteração na configuração do Redis, reinicie o serviço e repita o processo redis-cli ping.
Este guia usa TCP no localhost para minimizar as alterações nas permissões do socket. Um socket Unix é outra opção local suportada e pode reduzir a sobrecarga de conexão, mas o caminho do socket Redis, a propriedade do grupo, as permissões e a configuração do Nextcloud devem ser idênticos. Siga o exemplo de socket do manual do Nextcloud se você optar por esse caminho.
3. Confirme se o PHP consegue carregar ambas as extensões.
Verifique os módulos PHP da linha de comando:
php -m | grep -Ei '^(apcu|redis)$'
Você deverá ver ambos os nomes. Se um deles estiver faltando, verifique os arquivos de módulo habilitados com `php -v` php --inie instale o pacote correspondente à sua versão do PHP. Reinicie o manipulador PHP usado pelo site para que seus processos carreguem os novos módulos. Para Apache com mod_php, execute `php -v mod_php` sudo systemctl restart apache2. Para uma instalação do PHP-FPM usando PHP 8.3, execute `php -v fpm` sudo systemctl restart php8.3-fpm; reinicie ou recarregue o servidor web conforme necessário para sua implantação.
A verificação via linha de comando (CLI) é um primeiro sinal útil, mas não uma prova definitiva do funcionamento do ambiente de execução web. Posteriormente, utilize as configurações de administração do Nextcloud e a visualização de informações do servidor ou do PHP para verificar se o processo web reconhece os módulos de cache.
4. Adicione as configurações de cache ao Nextcloud.
Abra o arquivo existente config/config.phpcom um editor. Faça um backup do arquivo primeiro e mescle essas entradas no array PHP existente antes de fechá-lo );. Não substitua o arquivo inteiro nem adicione uma segunda cópia de chaves que já estejam presentes.
'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
'host' => '127.0.0.1',
'port' => 6379,
],
O endereço de loopback explícito corresponde ao serviço Redis local. Se, em vez disso, você usar um socket Unix, utilize o caminho do socket como o host do Redis e configure o daemon e as permissões de acordo. Se o Redis exigir autenticação, adicione o nome de usuário e a senha corretos da ACL do Redis ao redisarray e configure o Redis adequadamente; nunca cole uma senha real em um exemplo compartilhado ou postagem de suporte pública.
Mantenha as configurações existentes, como instanceidcredenciais do banco de dados, domínios confiáveis e diretório de dados, inalteradas. A sintaxe de arrays do PHP é importante: mantenha vírgulas entre as entradas e certifique-se de que cada configuração apareça apenas uma vez.
5. Valide o cache e o bloqueio de arquivos.
Execute a verificação de status do Nextcloud pela linha de comando a partir do diretório de instalação como o usuário do serviço web. Substitua o caminho de exemplo se a sua instalação estiver em outro local:
cd /var/www/nextcloud
sudo -u www-data php occ status
Verifique a interface web em Configurações de Administração para avisos de configuração e confirme se os módulos Redis e APCu estão visíveis para o ambiente de execução PHP da web. Em seguida, teste operações normais de arquivo com um arquivo pequeno e não crítico: faça o upload, renomeie, baixe e exclua. A página de administração não deverá mais exibir a mensagem de que o cache de memória está ausente quando o cache local estiver configurado corretamente.
Um teste bem-sucedido PONGapenas comprova que o Redis responde ao cliente CLI local. A verificação administrativa do Nextcloud e as operações rotineiras de arquivos ajudam a verificar a extensão PHP, as permissões do servidor web, as configurações de conexão do Redis e a configuração do aplicativo em conjunto. Não considere um carregamento de página mais rápido durante um teste como prova de uma melhoria de desempenho mensurável; a carga de trabalho, o armazenamento, o banco de dados e a capacidade do worker PHP afetam o tempo de resposta.
Solução de problemas comuns
A página de administração ainda indica que não há cache de memória.
Verifique se há chaves de cache duplicadas ou com erros de digitação, confirme se elas memcache.localapontam para o APCu e reinicie o serviço Apache ou PHP-FPM correto. Uma instalação do PHP somente para linha de comando pode ser diferente do ambiente de execução do PHP usado pelo site.
O Redis está em execução, mas o Nextcloud reporta erros de conexão.
Compare o ` host<endereço_do_servidor>` portcom config.phpo ouvinte em `<endereço_do_servidor>` /etc/redis/redis.conf. Confirme o acesso local com ` redis-cli -h 127.0.0.1 -p 6379 ping<endereço_do_servidor>` e revise os logs do Redis e do servidor web. Se você usar um socket ou senha, verifique se o caminho ou as credenciais correspondem em ambas as extremidades.
As operações de arquivo falham após a alteração.
Se a instância ficar inutilizável, restaure temporariamente o backup config.phpe, em seguida, inspecione os logs do PHP e do servidor web. Verifique a pontuação dos arrays, confirme se o serviço Redis está ativo e certifique-se de que nenhum firewall ou ACL personalizada do Redis esteja bloqueando o processo web. Evite limpar os dados do Redis como primeiro passo para solucionar problemas; investigue a conexão e a configuração antes de remover entradas de cache ou bloqueio.
O que esta configuração não abrange
Esta é uma configuração de servidor único, não um projeto Redis de alta disponibilidade. Ela não configura replicação Redis, Sentinel, TLS, um host de cache remoto, armazenamento de sessão ou uma implantação Nextcloud em cluster. Nós Nextcloud com múltiplos servidores devem compartilhar o mesmo cache distribuído e backend de bloqueio; o uso do localhost em cada nó criaria instâncias Redis separadas e frustraria esse requisito. Para uma topologia remota ou em cluster, siga a seção de configuração do Nextcloud correspondente e proteja as comunicações Redis para esse ambiente.
Após a configuração estar estável, monitore o uso de memória do Redis e a visão geral da administração do Nextcloud. Aloque memória suficiente para o cache e para as atividades de bloqueio, evite políticas de remoção não revisadas que possam descartar dados de bloqueio e mantenha backups regulares do banco de dados e dos arquivos. O cache do Redis pode reduzir a sobrecarga de cache e bloqueio, mas é apenas uma parte de uma instalação saudável do Nextcloud, e não um substituto para o planejamento de capacidade.