Configurando Redis para armazenamento de sessão PHP no Linux

Configurando Redis para armazenamento de sessão PHP no Linux

Redis é um armazenamento de estrutura de dados na memória, amplamente utilizado como um banco de dados, cache e corretor de mensagens. É particularmente útil para gerenciar sessões de PHP devido ao seu alto desempenho, baixa latência e capacidades de persistência de dados. Neste artigo, o guiaremos durante todo o processo de instalação, configuração e uso do Redis como um armazenamento de sessão para aplicativos PHP.

Instalando Redis em seu sistema

Primeiro, você precisa instalar o Redis em sua distribuição Linux. O processo de instalação varia dependendo do gerente de pacotes usado por sua distribuição. aqui estão alguns exemplos:

  • Para sistemas baseados em Debian (E.g., Ubuntu), use o gerenciador de pacotes APT:
    Atualização do sudo apt  sudo apt install redis-server  
  • Para sistemas baseados em RHEL (E.g., CENTOS, Fedora), use o Yum Package Manager:
    sudo yum install redis  
  • Para o Arch Linux, use o gerenciador de pacotes do Pacman:
    sudo pacman -s redis  

Após a instalação, ative e inicie o serviço Redis:

sudo systemctl Ativar redis  sudo systemctl start redis  

Instalando a extensão PHP Redis

Para usar o Redis para sessões de PHP, você precisa instalar a extensão PHP Redis. O processo de instalação depende da versão PHP e do gerenciador de pacotes.

  • Para sistemas baseados em Debian (E.g., Ubuntu), use o gerenciador de pacotes APT:
    sudo apt install php-redis  
  • Para sistemas baseados em RHEL (E.g., CENTOS, Fedora), use o Yum Package Manager:
    sudo yum install php-pecl-redis  
  • Para o Arch Linux, use o gerenciador de pacotes do Pacman:

    sudo pacman -s php -redis  

Após a instalação, reinicie seu servidor da web para carregar a extensão PHP Redis:

sudo systemctl reiniciar apache2 # para apache sudo systemctl reiniciar nginx # para nginx
12sudo systemctl reiniciar apache2 # para apachesudo systemctl reiniciar nginx # para nginx

Configurando o PHP para usar o Redis para gerenciamento de sessão

Para configurar o PHP para usar o Redis para gerenciamento de sessões, edite seu 'php.ini ' arquivo (normalmente encontrado em '/etc/php/versão/fpm/' ou '/etc/php/versão/apache2/' para sistemas baseados em Debian, ou '/etc/php.ini ' para sistemas baseados em RHEL). Adicione ou modifique as seguintes linhas:

sessão.Save_handler = sessão Redis.save_path = "tcp: // localhost: 6379"
12sessão.save_handler = redission.save_path = "tcp: // localhost: 6379"

Substitua a localhost pelo endereço IP do seu servidor Redis se não estiver em execução na mesma máquina que o aplicativo PHP. Substituir '6379' com o número da porta apropriado se o seu servidor Redis estiver em execução em uma porta diferente.

Depois de editar o PHP.Arquivo INI, reinicie seu servidor da web para aplicar as alterações:

sudo systemctl reiniciar apache2 # para apache sudo systemctl reinicie nginx # para nginx sudo systemctl reiniciar php-fpm # para php-fpm (se aplicável)
123SUDO SYSTEMCTL RESPONSAÇÃO APACHE2 # PARA APACHESUDO SYSTEMCTL RESPONSAÇÃO NGINX # para NGINXSUDO SystemCTL RESTIR PHP-FPM # para PHP-FPM (se aplicável)

Testando sessões de PHP de Redis

Para testar se o seu aplicativo PHP está usando o Redis para gerenciamento de sessões, crie um script PHP simples com o seguinte conteúdo:

12345678910

Salve este script como 'session_test.php ' e envie -o para o seu servidor da web. Acesse o script no seu navegador da web. O contador deve aumentar em cada página atualizar, confirmando que as sessões de PHP estão sendo armazenadas em redis.

Proteger e otimizar suas sessões de PHP de Redis

Para ambientes de produção, é essencial proteger e otimizar suas sessões de PHP da Redis para garantir o alto desempenho e a integridade dos dados. Aqui estão algumas recomendações:

  • Configure a autenticação de senha Redis: Edite seu arquivo de configuração Redis (normalmente encontrado em '/etc/redis/redis.conf ') e definir o 'requerePass' Diretiva para uma senha forte:
    requerepass your_secure_password  

    Em seguida, atualize seu 'php.ini ' arquivo para incluir a senha no 'sessão.Save_Path ':

    sessão.save_path = "tcp: // localhost: 6379?auth = your_secure_password "
    1sessão.save_path = "tcp: // localhost: 6379?auth = your_secure_password "

  • Reinicie o serviço Redis e seu servidor da web para aplicar as alterações.

  • Ativar persistência de dados Redis: Por padrão, Redis armazena dados apenas na memória. Para persistir dados da sessão no disco, ativar instantâneos RDB ou loging AOF no seu arquivo de configuração Redis. Por exemplo, para ativar instantâneos RDB, descomentar ou adicionar a seguinte linha em '/etc/redis/redis.conf ': salvar 900 1
    1salve 900 1

    Essa configuração criará um instantâneo dos dados Redis a cada 15 minutos se pelo menos uma chave foi modificada.

  • Otimize as configurações Redis: Dependendo dos recursos do seu servidor e dos requisitos do seu aplicativo, pode ser necessário otimizar as configurações do Redis para obter o melhor desempenho. Algumas opções incluem ajustar o 'MaxMemory' diretiva, ajustando o 'MaxMemory-policy', e ajuste o valor do tempo limite.
  • Monitore o desempenho Redis: Monitore regularmente o desempenho do seu servidor Redis usando ferramentas como 'Redis-cli', 'Redis-stat', ou 'Redis_exporter' para identificar possíveis gargalos ou problemas.

Conclusão

Este passo a passo completo mostrou como instalar, configurar e usar o Redis como um armazenamento de sessão para aplicativos PHP. Ao alavancar o Redis para gerenciamento de sessões PHP, você pode melhorar significativamente o desempenho e a escalabilidade de seus aplicativos da Web. Certifique-se de seguir as melhores práticas para proteger e otimizar suas sessões de PHP de Redis para garantir a melhor experiência possível do usuário e manter a integridade dos dados da sua sessão.