LEMP Stack · 6 min read · Jan 05, 2026

Instalar a Pilha LEMP (Nginx, PHP e MariaDB) no Debian 11

A Pilha LEMP é um conjunto de software e frameworks ou bibliotecas de código aberto que são usados para hospedar aplicações web na internet. Uma pilha consiste no sistema operacional Linux, servidor web Nginx, servidor de banco de dados MariaDB/MySQL e linguagem PHP. Um LEMP tem bom suporte da comunidade e é usado em muitas aplicações web altamente escaladas ao redor do mundo.

Neste post, vamos mostrar como instalar a pilha LEMP no Debian 11.

Pré-requisitos

  • Um servidor rodando Debian 11.
  • Um nome de domínio válido apontado para o IP do seu servidor.
  • Uma senha de root configurada no servidor.

Começando

Antes de começar, é uma boa ideia atualizar os pacotes do seu sistema para a versão mais recente. Você pode atualizar todos os pacotes usando o seguinte comando:

apt-get update -y

Uma vez que seu sistema esteja atualizado, você pode prosseguir para a próxima etapa.

Instalar o Servidor Web Nginx

O Nginx é um servidor web gratuito e de código aberto que segue uma arquitetura orientada a eventos e é capaz de lidar com múltiplas requisições em uma única thread. Ele é compatível com aplicações comumente usadas e é utilizado para servir arquivos estáticos.

Por padrão, o pacote Nginx está incluído no repositório padrão do Debian 11. Você pode instalá-lo usando o seguinte comando:

apt-get install nginx -y

Uma vez que o Nginx esteja instalado, inicie o serviço Nginx e habilite-o para iniciar na reinicialização do sistema:

systemctl start nginx  
systemctl enable nginx

Você também pode verificar a versão instalada do Nginx com o seguinte comando:

nginx -v

Você deve ver a seguinte saída:

nginx version: nginx/1.18.0

Por padrão, o Nginx roda na porta 80. Você pode verificar isso usando o seguinte comando:

ss -antpl | grep nginx

Você deve ver a seguinte saída:

LISTEN 0      511          0.0.0.0:80        0.0.0.0:*    users:(("nginx",pid=44342,fd=8),("nginx",pid=44341,fd=8))
LISTEN 0      511             [::]:80           [::]:*    users:(("nginx",pid=44342,fd=9),("nginx",pid=44341,fd=9))

Você também pode verificar a instalação do Nginx usando a URL http://seu-ip-do-servidor. Você deve ver a página de teste do Nginx na seguinte página:

Página de boas-vindas do Nginx

Neste ponto, o servidor web Nginx está instalado. Você pode agora prosseguir para a próxima etapa.

Instalar o Servidor de Banco de Dados MariaDB

O MariaDB é um banco de dados baseado em SQL de código aberto que é usado para armazenar e gerenciar dados para websites. Por padrão, o pacote MariaDB está incluído no repositório padrão do Debian 11. Você pode instalá-lo usando o seguinte comando:

apt-get install mariadb-server -y

Uma vez que o servidor de banco de dados MariaDB esteja instalado, inicie o serviço MariaDB e habilite-o para iniciar na reinicialização do sistema:

systemctl start mariadb  
systemctl enable mariadb

Você também pode verificar o status do serviço MariaDB com o seguinte comando:

systemctl status mariadb

Você deve ver a seguinte saída:

? mariadb.service - Servidor de banco de dados MariaDB 10.3.31
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-08-21 04:13:25 UTC; 1min 36s ago
       Docs: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 1838 (mysqld)
     Status: "Atendendo suas requisições SQL agora..."
      Tasks: 31 (limit: 2353)
     Memory: 66.1M
     CGroup: /system.slice/mariadb.service
             ??1838 /usr/sbin/mysqld

Também é recomendável proteger sua instalação do MariaDB e definir uma senha de root do MariaDB. Você pode executar o script mysql_secure_installation para proteger a instalação do MariaDB:

mysql_secure_installation

Você será solicitado a definir uma senha de root do MariaDB, remover usuários anônimos, desabilitar o login remoto do root e remover o banco de dados de teste, conforme mostrado abaixo:

Enter current password for root (enter for none): 
Change the root password? [Y/n] Y
New password: 
Re-enter new password: 
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Por padrão, o MariaDB roda na porta 3306. Você pode verificar isso usando o seguinte comando:

ss -antpl | grep mariadb

Você deve ver o seguinte comando:

LISTEN 0      80         127.0.0.1:3306      0.0.0.0:*    users:(("mariadbd",pid=12181,fd=15))

Para conectar ao shell do MariaDB, execute o seguinte comando:

mysql -u root -p

Forneça sua senha de root do MariaDB e pressione Enter para conectar ao shell do MariaDB. Uma vez conectado, você deve ver a seguinte saída:

Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 64
Server version: 10.5.11-MariaDB-1 Debian 11

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

Agora, execute o seguinte comando para verificar a versão do MariaDB:

MariaDB [(none)]> SELECT VERSION();

Você deve ver a seguinte saída:

+-------------------+
| VERSION()         |
+-------------------+
| 10.5.11-MariaDB-1 |
+-------------------+
1 row in set (0.001 sec)

Neste ponto, o servidor de banco de dados MariaDB está instalado e seguro. Você pode agora prosseguir para a próxima etapa.

Instalar a Linguagem PHP

PHP significa Hypertext Preprocessor e é uma linguagem de script usada no lado do servidor. É de código aberto, tem grande suporte da comunidade e é usada para hospedar aplicações PHP na internet.

Por padrão, a versão do PHP disponível no Debian 11 é PHP 7.4. Você pode instalar o PHP com outras extensões comumente usadas com o seguinte comando:

apt-get install php php-fpm php-cli php-mysql php-zip php-curl php-xml -y

Uma vez que o PHP esteja instalado, verifique a versão do PHP usando o seguinte comando:

php -v

Você deve ver a seguinte saída:

PHP 7.4.21 (cli) (built: Jul  2 2021 03:59:48) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.21, Copyright (c), by Zend Technologies

Criar um Host Virtual para Nginx

Aqui, vamos criar um diretório example.com para hospedar uma página PHP. Você pode criá-lo com o seguinte comando:

mkdir /var/www/html/example.com

Em seguida, defina a propriedade do diretório example.com para www-data:

chown -R www-data:www-data /var/www/html/example.com

Em seguida, crie um arquivo de configuração de host virtual do Nginx com o seguinte comando:

nano /etc/nginx/conf.d/example.conf

Adicione as seguintes linhas:

server {

  listen 80;
  server_name example.com;

  root /var/www/html/example.com;
  index index.php;
  access_log /var/log/nginx/example_access.log;
  error_log /var/log/nginx/example_error.log;

  client_max_body_size 100M;

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

  location ~ \.php$ {
    try_files $uri =404;
    include fastcgi_params;
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }

}

Salve e feche o arquivo, então verifique o Nginx para qualquer erro de configuração com o seguinte comando:

nginx -t

Você deve ver a seguinte saída:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Em seguida, reinicie o serviço Nginx para aplicar as alterações de configuração:

systemctl restart nginx

Você também pode verificar o status do serviço Nginx usando o seguinte comando:

systemctl status nginx

Você deve ver a seguinte saída:

? nginx.service - Um servidor web de alto desempenho e um servidor proxy reverso
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-08-21 04:37:27 UTC; 5s ago
       Docs: man:nginx(8)
   Main PID: 4378 (nginx)
      Tasks: 2 (limit: 2353)
     Memory: 6.2M
     CGroup: /system.slice/nginx.service
             ??4378 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??4379 nginx: worker process

Aug 21 04:37:27 debian11 systemd[1]: Starting Um servidor web de alto desempenho e um servidor proxy reverso...
Aug 21 04:37:27 debian11 systemd[1]: Started Um servidor web de alto desempenho e um servidor proxy reverso.

Verificar a Instalação do PHP no Nginx

Em seguida, você precisará criar um arquivo PHP de exemplo para servir pelo servidor web Nginx. Você pode criar um arquivo phpinfo.php dentro do seu diretório example.com:

nano /var/www/html/example.com/phpinfo.php

Adicione a seguinte linha:


Salve e feche o arquivo, então abra seu navegador web e acesse sua página PHP usando a URL http://example.com/phpinfo.php. Você deve ver sua página PHP na seguinte tela:

Conclusão

No guia acima, explicamos como instalar a pilha LEMP no Debian 11. Você pode agora começar a hospedar seu primeiro site usando a pilha LEMP. Sinta-se à vontade para me perguntar se você tiver alguma dúvida.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.