Como instalar o Memcached no Debian 12, 11 ou 10

Brad Fitzpatrick desenvolveu o Memcached em 2003 para o site LiveJournal como um poderoso sistema de cache de código aberto para melhorar o desempenho de aplicativos web dinâmicos, reduzindo a carga do banco de dados. Desde então, tornou-se vital para muitos sites e aplicativos de alto tráfego. Antes de instalarmos o Memcached no Debian 12 Bookworm, Debian 11 Bullseye ou Debian 10 Buster, vamos examinar alguns pontos-chave sobre o Memcached abaixo.

Principais recursos e benefícios:

  • Escalabilidade: O Memcached, que lida com milhões de operações por segundo, é ideal para aplicações e serviços web em grande escala.
  • Cache Distribuído: Com uma arquitetura de cache distribuída, o Memcached permite escalonamento horizontal em vários servidores, expandindo a capacidade geral do cache.
  • Armazenamento na memória: Como um armazenamento de valores-chave na memória, o Memcached garante acesso rápido aos dados armazenados em cache, diminuindo significativamente a latência em sistemas de armazenamento baseados em disco.
  • API simples: Memcached fornece uma API simples que oferece suporte a várias linguagens de programação, incluindo PHP, Python, Ruby e outras.
  • Expiração do cache: O sistema permite que os desenvolvedores definam prazos de expiração para dados armazenados em cache, facilitando a remoção automática de dados desatualizados ou obsoletos do cache.
  • Leve: Com sobrecarga mínima de CPU e memória, o Memcached é executado com eficiência em várias configurações de servidor, sem esgotar significativamente os recursos do sistema.
  • Tipos de dados flexíveis: O Memcached acomoda vários tipos de dados, como strings, números inteiros e objetos complexos, tornando-o versátil para diversos casos de uso.

O guia a seguir irá orientá-lo no processo de instalação do Memcached no Debian usando dois métodos: o repositório Debian padrão para a versão mais estável ou baixando e compilando o binário mais recente para aqueles que preferem trabalhar com a versão mais recente.

Método 1: instalar o Memcached por meio do repositório APT padrão

Nesta seção, instalaremos o Memcached em seu sistema Debian Linux usando o gerenciador de pacotes APT. Isso envolve atualizar os pacotes do sistema e instalar o Memcached com algumas ferramentas úteis.

Atualize seu sistema Debian antes da instalação do Memcached

Para garantir que você tenha as versões de pacotes e atualizações de segurança mais recentes, comece atualizando seu sistema Debian. Execute o seguinte comando:

sudo apt update && sudo apt upgrade

Este comando atualizará sua lista de pacotes e atualizará os pacotes desatualizados para suas versões mais recentes.

Instale as ferramentas Memcached e Libmemcached

O Debian inclui Memcached em seus repositórios padrão, simplificando a instalação. Para instalar o Memcached, execute o seguinte comando:

sudo apt install memcached libmemcached-tools

Este comando instala o Memcached e o libmemcached-tools pacote. O libmemcached-tools O pacote fornece utilitários de linha de comando adicionais que permitem mais recursos de interação e gerenciamento com o Memcached.

Método 2: Instale o Memcached via fonte

Esta seção cobre a instalação do Memcached em seu sistema Debian compilando-o a partir do código-fonte. A instalação a partir da fonte pode ser benéfica se você quiser usar a versão mais recente do Memcached ou personalizar a compilação para requisitos específicos.

Baixe a fonte do Memcached

Primeiro, visite o Memcached última página de lançamento para encontrar a versão atual. Use o seguinte wget comando para baixá-lo diretamente:

wget https://memcached.org/latest

Extraia o arquivo de origem do Memcached

Em seguida, extraia o código-fonte baixado executando o seguinte comando:

tar -xvf latest

Antes de continuar, navegue até o diretório extraído. O nome do diretório depende da versão baixada:

cd memcached-{place version number here}

Substituir {version_number} com o número da versão real.

Instale os pacotes iniciais necessários para compilar o Memcached

Antes de compilar o Memcached, você precisa instalar as dependências de compilação necessárias. Execute o seguinte comando para instalá-los:

sudo apt install build-essential libevent-dev gcc make libc6-dev

Os pacotes instalados servem aos seguintes propósitos:

  • gcc: um compilador C conhecido para os arquivos de origem do Memcached.
  • make: Direciona a compilação.
  • libc6-dev: fornece uma referência à biblioteca GNU C e aos arquivos de cabeçalho.
  • libevent-dev: contém arquivos de desenvolvimento para notificação de eventos assíncronos.

Configurar a instalação

Use o --prefix= parâmetro para definir o diretório onde os binários e bibliotecas do Memcached serão instalados:

./configure --prefix=/usr/local

Compilar código-fonte do Memcached

Compile o código-fonte do Memcached com o make comando:

make

Teste o Memcached confirmando a versão atual:

./memcached --version

Instale o Memcached através do comando 'make install'

Assim que o processo de compilação for concluído, instale o Memcached executando o seguinte comando:

sudo make install

Este comando instala o Memcached em seu sistema, tornando-o acessível na linha de comando. Para garantir que o sistema reconheça as novas bibliotecas, execute o seguinte:

sudo ldconfig

Verifique a instalação do Memcached

Para verificar se o Memcached foi instalado com sucesso, execute o seguinte comando:

memcached -V

Este comando exibirá a versão instalada do Memcached, confirmando a instalação bem-sucedida do código-fonte.

Crie um serviço Systemd para Memcached

Quando você instala o Memcached a partir da fonte, ele não cria automaticamente um arquivo de serviço systemd. Para executar o Memcached como um serviço e gerenciá-lo usando systemctl, você precisa criar um arquivo de serviço systemd personalizado para Memcached. Siga estas etapas para criar e ativar o serviço:

Crie um novo arquivo chamado memcached.service no /etc/systemd/system diretório usando um editor de texto de sua escolha. Neste exemplo, usaremos nano:

sudo nano /etc/systemd/system/memcached.service

Adicione o seguinte conteúdo ao memcached.service arquivo:

[Unit]
Description=Memcached Service
After=network.target

[Service]
Type=simple
User=memcache
Group=memcache
ExecStart=/usr/local/bin/memcached /etc/memcached.conf
Restart=always

[Install]
WantedBy=multi-user.target

Salve o arquivo e saia do editor de texto.

Criar uma memcache usuário e grupo para executar o serviço com segurança:

sudo useradd -r -s /sbin/nologin -U -M memcache

Recarregue a configuração do systemd para reconhecer o novo arquivo de serviço:

sudo systemctl daemon-reload

Por último, inicie o serviço:

sudo systemctl enable memcached --now

Gerenciando o status do serviço Memcached

Esta seção cobrirá o gerenciamento do serviço Memcached em seu sistema Debian. Isso inclui verificar o status do serviço, iniciar e interromper o serviço e configurá-lo para ser executado na inicialização do sistema.

Verifique o status do serviço Memcached

Por padrão, o Memcached deve estar em execução após a instalação. Para verificar seu status, use o systemctl comando da seguinte forma:

systemctl status memcached

Este comando exibirá o status atual do serviço Memcached.

Inicie o serviço Memcached

Se o Memcached não estiver em execução, você poderá iniciar o serviço com o seguinte comando:

sudo systemctl start memcached

Habilite o Memcached na inicialização do sistema

Para garantir que o serviço Memcached seja iniciado automaticamente quando o sistema for inicializado, use o seguinte comando:

sudo systemctl enable memcached

Pare o serviço Memcached

Se precisar interromper o serviço Memcached, use este comando:

sudo systemctl stop memcached

Desative o Memcached na inicialização do sistema

Para evitar que o serviço Memcached seja iniciado automaticamente na inicialização do sistema, execute o seguinte comando:

sudo systemctl disable memcached

Reinicie o serviço Memcached

Se precisar reiniciar o serviço Memcached, por exemplo, após fazer alterações na configuração, use este comando:

sudo systemctl restart memcached

Verifique se o Memcached está escutando na porta padrão

Por último, verifique se o Memcached está escutando ativamente no host local usando a porta padrão 11211. Para confirmar isso, execute o seguinte comando:

ps -ef | grep memcached

A saída deve exibir uma linha indicando que o Memcached está em execução e escutando na porta especificada, semelhante a esta:

memcache    5934       1  0 09:36 ?        00:00:00 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid
root        6591    3653  0 09:55 pts/0    00:00:00 grep memcached

Configurar dicas do Memcached

Esta seção abordará a definição das configurações do Memcached editando o arquivo memcached.conf arquivo. Discutiremos o ajuste do endereço IP de escuta, a desativação do UDP e a alteração da alocação de memória padrão.

Abra o arquivo de configuração do Memcached

Abra o arquivo de configuração do Memcached localizado em /etc/memcached.conf usando um editor de texto, como nano:

sudo nano /etc/memcached.conf

Os usuários que compilaram o Memcached a partir do código-fonte precisarão criá-lo quando você abri-lo pela primeira vez; o arquivo ficará em branco comparado ao método APT; você pode copiar isto para começar a ajustar:

# Example memcached.conf file

# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default
# Note that the daemon will grow to this size, but does not start out holding this much
# memory
-m 64

# Default port is 11211
-p 11211

# Run the daemon as a background process
-d

# Use syslog logging
-s

# Enable verbose logging
-vv

# Set the maximum number of simultaneous connections
-c 1024

Ajuste o endereço IP de escuta

Por padrão, o Memcached escuta o endereço IP 127.0.0.1. Verifique o parâmetro -l no arquivo de configuração e certifique-se de que esteja definido com o endereço IP correto. Se você precisar modificar o endereço IP, substitua 127.0.0.1 com o novo endereço IP:

-l 127.0.0.1

Desabilitar UDP (opcional)

Se você não precisar de suporte UDP, é recomendável desativá-lo. Para desabilitar o UDP, adicione a seguinte linha ao arquivo de configuração:

-U 0

Configurar a alocação de memória

A alocação de memória padrão para Memcached é 64 MB, o que pode não ser suficiente para sites maiores. Considere ajustar a alocação de memória para um valor mais alto para maximizar o Memcached.

Para definir a alocação de memória, encontre o -m parâmetro no arquivo de configuração e substitua o valor padrão pela quantidade desejada (em MB). Por exemplo, para alocar 2 GB de memória, defina o valor como 2000:

-m 2000

Ajuste essa configuração com base na memória disponível e nos requisitos do seu servidor.

Salvar e reiniciar o Memcached

Após fazer as alterações necessárias, salve o arquivo de configuração pressionando CTRL+O, seguido pela Y, e então CTRL+X para sair do editor de texto. Por fim, reinicie o serviço Memcached para que as alterações tenham efeito:

sudo systemctl restart memcached

Exemplos adicionais de configuração do Memcached

Além das opções de configuração abordadas anteriormente, existem várias outras configurações que você pode ajustar para ajustar o Memcached de acordo com seus requisitos. Aqui estão alguns exemplos, juntamente com breves demonstrações:

Especifique o usuário e o grupo

Memcached é executado sob um usuário e grupo específicos especificados usando o -u parâmetro. Por exemplo, para executar o Memcached como o memcache usuário, adicione a seguinte linha ao arquivo de configuração:

-u memcache

Habilitar páginas de memória grande

A ativação deste recurso pode melhorar o desempenho se o seu sistema suportar páginas de memória grandes. Para ativar páginas de memória grandes, encontre o -L parâmetro e descomente-o (remova o # no início da linha):

-L

Configure o tamanho máximo do item

O Memcached tem um tamanho máximo de item padrão de 1 MB. Para aumentar o tamanho máximo do item, use o -I parâmetro seguido do tamanho desejado. Por exemplo, para definir o tamanho máximo do item como 5 MB, adicione a seguinte linha ao arquivo de configuração:

-I 5m

Defina o número máximo de threads

Memcached usa quatro threads por padrão. Você pode usar o parâmetro para aumentar ou diminuir o número de threads de acordo com as capacidades e carga de trabalho do seu servidor. Por exemplo, para definir o número de threads como 8, adicione a seguinte linha:

-t 8

Configurar o tempo limite de inatividade

O Memcached fecha automaticamente conexões ociosas após um certo período de inatividade. Para modificar o tempo limite de inatividade, use o -o parâmetro seguido por idle_timeout e o número desejado de segundos. Por exemplo, para definir o tempo limite de inatividade para 600 segundos (10 minutos), adicione a seguinte linha:

-o idle_timeout=600

Habilitar autenticação SASL

Você pode ativar o suporte SASL (Simple Authentication and Security Layer) se precisar de autenticação para acessar seu servidor Memcached. Para habilitar SASL, encontre o -S parâmetro e descomente-o (remova o # no início da linha):

-S

Lembre-se de sempre reiniciar o serviço Memcached após fazer alterações no arquivo de configuração:

sudo systemctl restart memcached

Instale o Firewall UFW para Memcached

Para garantir a segurança da sua instância do Memcached, é crucial configurar corretamente as regras do seu firewall. Esta seção abordará como instalar e configurar o Uncomplicated Firewall (UFW) para proteger seu servidor Memcached.

Verifique se o UFW está instalado

Primeiro, vamos verificar se o UFW já está instalado no seu sistema Debian:

sudo ufw --version

Se o UFW estiver instalado, você verá o número da versão na saída. Caso contrário, você precisará instalá-lo.

Instale o UFW no Debian para Memcached

Para instalar o UFW em seu sistema Debian, execute o seguinte comando:

sudo apt install ufw

Após a conclusão da instalação, habilite o UFW com o seguinte comando:

sudo ufw enable

Configurar regras UFW para Memcached

Agora que o UFW está instalado e habilitado, você deve criar regras de permissão na porta TCP 11211. As regras criadas dependerão de sua instalação e requisitos, seja usando uma única conexão de rede IP ou trabalhando com múltiplas instâncias em uma rede de cluster.

Exemplo de conexão de rede IP única

Permita acesso ao Memcached a partir de um endereço IP específico:

sudo ufw allow proto tcp from <ip_address> to any port 11211

Exemplo de conexão de rede IP de cluster com múltiplas instâncias

Permita acesso ao Memcached de uma sub-rede de endereços IP:

sudo ufw allow proto tcp from <ip_address>/24 to any port 11211

Observe que a segunda regra UFW é uma regra de sub-rede. Certifique-se de que a rede interna seja segura e confiável antes de permitir o acesso.

Etapa 4: verifique as regras do UFW

Depois de configurar as regras apropriadas, verifique se elas estão configuradas corretamente listando as regras atuais do UFW:

sudo ufw status

A saída deve exibir as regras configuradas, garantindo que sua instância do Memcached esteja protegida com UFW.

Instale bibliotecas Memcached

Memcached oferece extensões para diversas linguagens de programação, mas é mais comumente usado com PHP. Esta seção irá guiá-lo na instalação de bibliotecas Memcached para PHP, Python e Perl e na configuração do Memcached para servidores web Apache e Nginx.

Instale bibliotecas PHP para Memcached

Para instalar a biblioteca PHP para Memcached, execute o seguinte comando:

sudo apt install php-memcached libapache2-mod-php php php-cli

Configurar Memcached para servidor HTTP Apache

Se você estiver usando o servidor Apache HTTP, habilite o módulo Memcached executando o seguinte comando:

sudo phpenmod memcached && sudo systemctl restart apache2

Configurar Memcached para servidor HTTP Nginx

O suporte Memcached será habilitado por padrão em seu bloco de configuração PHP assim que a biblioteca PHP for instalada para usuários Nginx.

Abaixo está um exemplo simples de bloco de servidor nginx:

server {
    listen 80;
    server_name example.com;

    root /var/www/example.com;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

Instale a biblioteca Python para Memcached

Para instalar o suporte Python para Memcached, execute o seguinte comando:

sudo apt install python3-pymemcache

Instale a biblioteca Perl para Memcached

Para instalar o suporte Perl para Memcached, execute o seguinte comando:

sudo apt install libcache-memcached-libmemcached-perl

Acesse o Memcached pela linha de comando

O Memcached pode ser monitorado e gerenciado por meio de vários softwares e interfaces de usuário da web. No entanto, interagir diretamente com o Memcached usando a linha de comando costuma ser o método mais direto para verificar seu desempenho e gerenciar seu conteúdo.

Primeiro, conecte-se ao seu serviço Memcached usando telnet:

telnet localhost 11211

Exemplo de saída:

Tentando 127.0.0.1... Conectado ao host local. O caractere de escape é '^]'.

A seguir, você pode obter uma visão geral do seu serviço Memcached com o seguinte comando:

stats

Este comando retornará várias estatísticas sobre sua instância do Memcached, como tempo de atividade, número de itens no cache e número de conexões de cliente.

Você pode refinar sua análise examinando placas Memcached (partições de memória). Por exemplo, você pode listar as lajes na instância conectada com:

stats slabs

E obtenha uma lista de lajes, incluindo uma contagem dos itens armazenados em cada laje, usando:

stats items

Para acessar e manipular dados armazenados no Memcached, você pode usar o cachedump comando para listar as chaves. Para listar todos os itens de uma laje específica, execute o seguinte comando:

stats cachedump [slab ID] [number of items, 0 for all items]

Por exemplo:

stats cachedump 1 0

Exemplo de saída:

Chave de teste do ITEM [9 b; 1296857316s] FIM

Neste exemplo, a placa 1 contém um item com a chave “testkey”. Para recuperar o valor deste item, use o get comando:

get testkey

Exemplo de saída:

VALUE testkey 0 9 dados de teste END

Finalmente, para excluir um item em cache, como “testkey”, use o seguinte comando:

delete testkey

Exemplo de saída:

EXCLUÍDO

Conclusão

Concluindo, instalar e configurar o Memcached no Debian Linux pode melhorar significativamente o desempenho de suas aplicações web, fornecendo um sistema de cache rápido, eficiente e fácil de usar. Seguindo as etapas descritas neste guia, você pode configurar o Memcached com êxito, configurá-lo com seu servidor web preferido e protegê-lo usando UFW. Com configuração e gerenciamento adequados, o Memcached pode se tornar essencial para otimizar suas aplicações e proporcionar uma melhor experiência ao usuário.

Joshua James
Me siga
Últimos posts por Joshua James (exibir todos)

Deixe um comentário