Como instalar o servidor Redis em sistemas baseados em CentOS e Debian
Redis é um armazenamento de estrutura de dados na memória de código aberto, de alto desempenho e flexível (formato de valor-chave) – usado como banco de dados, cache e corretor de mensagens. Ele é escrito em ANSI C e é executado na maioria, senão em todos os sistemas operacionais do tipo Unix, incluindo Linux (recomendado para implantação) sem dependências externas.
É rico em recursos, suporta múltiplas linguagens de programação e estruturas de dados, incluindo strings, hashes, listas, conjuntos, conjuntos classificados com consultas de intervalo, bitmaps, entre outros.
Recursos do Redis:
- Suporta a maioria das linguagens de programação, incluindo C, Bash, Python, PHP, Node.js, Perl, Ruby, apenas para mencionar algumas.
- Possui replicação inerente, script Lua, remoção de LRU, transações, bem como níveis variados de persistência em disco.
- Fornece alta disponibilidade por meio do Redis Sentinel e particionamento automático por meio do Redis Cluster.
- Suporta a execução de operações atômicas.
- Ele funciona com um conjunto de dados na memória para obter um desempenho notável.
- Suporta replicação assíncrona mestre-escravo trivial de configurar.
- Suporta failover automático.
- Permite salvar o conjunto de dados em disco com pouca frequência durante um determinado período de tempo ou anexando cada comando a um log.
- Permite desabilitar opcionalmente a persistência.
- Suporta mensagens de publicação/assinatura.
- Ele também suporta transações MULTI, EXEC, DISCARD e WATCH e muito mais.
Requisitos:
- Um servidor CentOS 7 e servidor RHEL 7 com instalação mínima
- Um servidor Ubuntu ou servidor Debian com instalação mínima
- Compilador GCC e libc
Neste tutorial, forneceremos instruções sobre como instalar um servidor Redis a partir da fonte (que é o método recomendado) no Linux. Também mostraremos como configurar, gerenciar e proteger o Redis. Como o Redis atende todos os dados da memória, sugerimos fortemente o uso de um servidor VPS com muita memória com este guia.
Etapa 1: instalar o servidor Redis da fonte
1. Primeiro, instale as dependências de compilação necessárias.
--------------- On CentOS / RHEL / Fedora ---------------
yum groupinstall "Development Tools"
dnf groupinstall "Development Tools"
--------------- On Debian / Ubuntu ---------------
sudo apt install build-essential
2. Em seguida, baixe e compile a versão estável mais recente do Redis usando o URL especial que sempre aponta para o Redis estável mais recente usando o comando wget.
wget -c http://download.redis.io/redis-stable.tar.gz
tar -xvzf redis-stable.tar.gz
cd redis-stable
make
make test
sudo make install
3. Após a compilação do Redis, o diretório src
dentro da distribuição do Redis é preenchido com os diferentes executáveis a seguir que fazem parte do Redis:
- servidor redis – servidor redis.
- redis-sentinel – executável redis sentinela (monitoramento e failover).
- redis-cli – um utilitário CLI para interagir com redis.
- redis-benchmark – usado para verificar o desempenho do redis.
- redis-check-aof e redis-check-dump – úteis no caso raro de arquivos de dados corrompidos.
Etapa 2: configurar o servidor Redis no Linux
4. Em seguida, você precisa configurar o Redis para um ambiente de desenvolvimento a ser gerenciado pelo sistema init (systemd para o propósito deste tutorial) . Comece criando os diretórios necessários para armazenar os arquivos de configuração do Redis e seus dados:
sudo mkdir /etc/redis
sudo mkdir -p /var/redis/
4. Em seguida, copie o modelo de arquivo de configuração do Redis fornecido para o diretório que você criou acima.
sudo cp redis.conf /etc/redis/
5. Agora abra o arquivo de configuração e atualize algumas configurações como segue.
sudo vi /etc/redis/redis.conf
6. Em seguida, pesquise as opções a seguir e altere (ou use) seus valores padrão de acordo com as necessidades do seu ambiente local.
port 6379 #default port is already 6379.
daemonize yes #run as a daemon
supervised systemd #signal systemd
pidfile /var/run/redis.pid #specify pid file
loglevel notice #server verbosity level
logfile /var/log/redis.log #log file name
dir /var/redis/ #redis directory
Etapa 3: Criar arquivo de unidade Redis Systemd
7. Agora você precisa criar um arquivo de unidade systemd para redis para controlar o daemon, executando o seguinte comando.
sudo vi /etc/systemd/system/redis.service
E adicione a configuração abaixo:
[Unit]
Description=Redis In-Memory Data Store
After=network.target
[Service]
User=root
Group=root
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
Type=forking
[Install]
WantedBy=multi-user.target
Salve e feche o arquivo.
Etapa 4: gerenciar e testar o servidor Redis no Linux
8. Depois de realizar todas as configurações necessárias, agora você pode iniciar o servidor Redis, por enquanto, habilite-o para iniciar automaticamente na inicialização do sistema; em seguida, visualize seu status da seguinte maneira.
sudo systemctl start redis
sudo systemctl enable redis
sudo systemctl status redis
9. Em seguida, teste se toda a configuração do redis está funcionando bem. Para interagir com o servidor redis, use o comando redis-cli. Após conectar-se ao servidor, tente executar alguns comandos.
redis-cli
Test connection to server using ping command:
127.0.0.1:6379> ping
Use the echo command to echo a given string:
127.0.0.1:6379> echo "Tecmint is testing Redis"
You can also set a key value using the set command like this:
127.0.0.1:6379> set mykey "Tecmint is testing Redis"
Now view the value of mykey:
127.0.0.1:6379> get mykey
10. Em seguida, feche a conexão com o comando exit
e reinicie o servidor redis. Depois, verifique se mykey ainda está armazenado no servidor conforme mostrado abaixo:
127.0.0.1:6379> exit
sudo systemctl restart redis
redis-cli
127.0.0.1:6379> get mykey
11. Para excluir uma chave, use o comando delete da seguinte forma:
127.0.0.1:6379> del mykey
127.0.0.1:6379> get mykey
Etapa 5: Protegendo o Servidor Redis no Linux
12. Esta seção é destinada a usuários que pretendem usar um servidor redis conectado a uma rede externa como a Internet.
Importante: expor o redis à Internet sem qualquer segurança torna sua exploração extremamente fácil; portanto, proteja o servidor redis da seguinte maneira:
- bloquear conexões com a porta redis no sistema com firewall
- definir diretiva de ligação para interface de loopback: 127.0.0.1
- defina a opção requirepass para que os clientes sejam obrigados a autenticar usando o comando AUTH.
- configure o túnel SSL para criptografar o tráfego entre servidores Redis e clientes Redis.
Para obter mais informações de uso, execute o comando abaixo:
redis-cli -h
Você pode encontrar mais comandos de servidor e aprender como usar o redis em seu aplicativo na página inicial do Redis: https://redis.io/
Neste tutorial, mostramos como instalar, configurar, gerenciar e proteger o Redis no Linux. Para compartilhar quaisquer idéias, use o formulário de comentários abaixo.