Blog

Tutoriais, guias e novidades do produto.

Desenvolvedores

O que são as pilhas LAMP e LEMP?

3 novembro 2026 6 min de leitura
Compartilhar esta publicação

LAMP e LEMP dão nome aos quatro softwares que servem um site típico: Linux, um servidor web, um banco de dados e o PHP. O A de LAMP vem de Apache, e o E de LEMP vem de Nginx (pronuncia-se "engine-x", daí o E). Nas duas pilhas, o banco de dados é o MySQL ou o MariaDB e a linguagem de programação é o PHP.

Aplicativos PHP como WordPress, WooCommerce e Joomla rodam nessa pilha. O WordPress.org recomenda o Apache ou o Nginx como servidor web, então os dois são uma base sólida. Qual você escolhe não decide se o seu aplicativo funciona. Muda a forma de escrever as configurações.

Como a pilha funciona?

CamadaLAMPLEMPFunção
Sistema operacionalLinuxLinuxA base sobre a qual tudo roda
Servidor webApacheNginxResponde às requisições dos navegadores
Banco de dadosMySQL ou MariaDBMySQL ou MariaDBGuarda posts, usuários e pedidos
LinguagemPHPPHP, pelo PHP-FPMMonta a página

Uma requisição percorre a pilha assim:

  1. O navegador envia uma requisição para o seu domínio. Ela chega à porta 80 ou 443 do seu servidor.
  2. O servidor web recebe a requisição. Se ela pede uma imagem ou um arquivo CSS, ele mesmo serve o arquivo.
  3. Se a requisição pede um arquivo PHP, o servidor web a entrega ao PHP e o PHP executa o código.
  4. O PHP consulta o banco de dados quando necessário e monta a página. O servidor web devolve a página ao navegador.

Se uma página não abrir, confira as camadas em ordem: systemctl status nginx, systemctl status phpX.Y-fpm e systemctl status mariadb. X.Y representa a sua versão do PHP (8.3 no Ubuntu 24.04), e no LAMP você usa apache2 em vez de nginx. O problema começa naquele que não estiver rodando.

Qual é a diferença entre LAMP e LEMP?

  • O Apache lê arquivos .htaccess e o Nginx não. No Nginx, as regras vão na configuração do servidor.
  • O Nginx não executa o PHP dentro de si. Ele repassa as requisições a um serviço separado chamado PHP-FPM. O Apache pode executar o PHP dentro de si ou pelo PHP-FPM.
  • As pastas de configuração são diferentes. No Ubuntu, o Apache usa /etc/apache2 e o Nginx usa /etc/nginx.
  • O uso de memória é decidido mais pelo número de workers do PHP-FPM e pelas configurações do banco de dados do que pela escolha do servidor web.
  • Nenhum dos dois é claramente superior. Ambos são muito usados, então o guia que você segue e os seus hábitos decidem.

MySQL ou MariaDB?

O MariaDB é um banco de dados de código aberto que se separou do MySQL, e seus comandos e clientes são em grande parte compatíveis. A página oficial de requisitos do WordPress aceita os dois, então confira ali as versões mínimas atuais. No Ubuntu, o pacote mariadb-server se instala com um comando. Segundo a documentação do MariaDB, a conta root usa a autenticação unix_socket por padrão desde a versão 10.4. No servidor, basta executar sudo mariadb. Nenhuma senha de root é necessária.

Instalando o LEMP no Ubuntu

Estes passos valem para o Ubuntu e o Debian. Primeiro conecte-se ao servidor por SSH. Os exemplos usam example.com como nome de domínio, então troque pelo seu.

  1. Atualize a lista de pacotes: sudo apt update
  2. Instale os pacotes: sudo apt install nginx mariadb-server php-fpm php-mysql. As versões instaladas são as que estão no repositório de pacotes.
  3. Reforce a segurança do banco de dados: sudo mariadb-secure-installation. Responda sim para remover usuários anônimos, remover o banco de dados de teste e proibir o login remoto do root.
  4. Crie a pasta do site: sudo mkdir -p /var/www/example
  5. Abra um arquivo com sudo nano /etc/nginx/sites-available/example e cole esta linha: server { listen 80; server_name example.com www.example.com; root /var/www/example; index index.php index.html; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/phpX.Y-fpm.sock; } }
  6. O ls /run/php/ mostra o nome real do socket. Escreva-o no lugar de phpX.Y-fpm.sock.
  7. Ative o site: sudo ln -s /etc/nginx/sites-available/example /etc/nginx/sites-enabled/
  8. Teste e aplique a configuração: sudo nginx -t e depois sudo systemctl reload nginx
  9. Se você usa o ufw, abra as portas 80 e 443: sudo ufw allow 80/tcp e sudo ufw allow 443/tcp. Confirme que a porta SSH (22) está aberta.

Para testar se o PHP funciona, escreva um arquivo de teste:

echo '<?php phpinfo();' | sudo tee /var/www/example/info.php

Se o domínio ainda não aponta para o servidor, teste de dentro do servidor com curl -H 'Host: example.com' http://127.0.0.1/info.php. Assim que vir que funciona, exclua o arquivo: sudo rm /var/www/example/info.php. Essa página mostra os detalhes do seu servidor a todos.

Um banco de dados para o seu aplicativo

Abra o shell do banco de dados com sudo mariadb e crie um banco de dados e um usuário separados para cada aplicativo. Escolha você mesmo uma senha forte:

CREATE DATABASE exampledb CHARACTER SET utf8mb4;

CREATE USER 'exampleuser'@'localhost' IDENTIFIED BY 'a-strong-password';

GRANT ALL ON exampledb.* TO 'exampleuser'@'localhost';

Você digita esses três valores (banco, usuário, senha) na tela de configuração do WordPress. Para que os links permanentes do WordPress funcionem, troque =404 na linha do Nginx por /index.php?$args.

O que muda no LAMP?

Para a pilha com Apache, você instala os pacotes assim:

sudo apt install apache2 mariadb-server php libapache2-mod-php php-mysql

Você define o site em /etc/apache2/sites-available e o ativa com sudo a2ensite example. Para os links permanentes, execute sudo a2enmod rewrite e reinicie o Apache com sudo systemctl restart apache2. Para que os arquivos .htaccess tenham efeito, você precisa definir AllowOverride All para a pasta do site. Você também pode rodar o Apache com o PHP-FPM, que combina com o modelo orientado a eventos event. Os passos do banco de dados são os mesmos do LEMP.

Depois da instalação

  • Adicione um certificado HTTPS. O Let's Encrypt é gratuito, e o Certbot funciona com o Nginx e com o Apache.
  • Defina o dono das pastas em que o servidor web precisa gravar. No Ubuntu e no Debian, o servidor web roda como o usuário www-data: sudo chown -R www-data:www-data /var/www/example.
  • Instale as atualizações regularmente com sudo apt update && sudo apt upgrade. Depois da instalação, as atualizações do sistema operacional e dos softwares são responsabilidade sua.
  • Faça backup do banco de dados separadamente com o mariadb-dump. O backup diário do servidor está incluído no preço, mas você ainda deve guardar por conta própria uma cópia extra dos dados importantes.

Se você quer a pilha pronta para usar, faça o pedido com a opção LAMP ou LEMP da Seturack e ela se instala sozinha. Se tudo o que você precisa é do WordPress, a opção VPS WordPress basta: a instalação leva cerca de 4-5 minutos, e o endereço e a senha aparecem no painel.

Pronto na Seturack: LAMP, LEMP.

Comentários0

Ainda não há comentários

Seja a primeira pessoa a compartilhar sua opinião.

Participe da discussão

Entre ou crie uma conta para deixar um comentário.

Não perca nenhuma publicação

Receba nossos tutoriais, guias e novidades de produtos na sua caixa de entrada.

Sua inscrição no nosso boletim informativo foi concluída.