Como instalar o LEMP no servidor Debian 10
Uma pilha “LEMP” é uma mistura de software de código aberto que normalmente é instalado em um servidor Linux para implantar aplicativos dinâmicos. Este termo é um acrônimo que representa o sistema operacional Linux, servidor web Nginx, banco de dados MariaDB e programação PHP.
Leia também: Como instalar o LAMP no servidor Debian 10
Embora esta pilha “LEMP ” normalmente contenha MySQL como sistema de gerenciamento de banco de dados, algumas distribuições Linux, como o Debian — usam MariaDB como um substituto imediato para o MySQL.
Requisitos
- Como instalar um servidor mínimo Debian 10 (Buster)
Neste artigo, explicaremos como instalar e configurar um ambiente LEMP em um servidor Debian 10, usando MariaDB como gerenciador de banco de dados. plataforma.
Instalando o servidor Web Nginx no Debian 10
Nginx é um servidor HTTP e proxy reverso de código aberto, leve, porém poderoso e fácil de configurar, um servidor proxy de e-mail e um proxy TCP/UDP genérico servidor, com arquitetura modular.
Alguns de seus recursos básicos incluem servir arquivos estáticos e de índice; suporte acelerado com cache de servidores FastCGI, uwsgi, SCGI e Memcached, balanceamento de carga e tolerância a falhas, SSL e suporte TLS SNI, suporte para HTTP/2 com priorização ponderada e baseada em dependência.
Para instalar o pacote Nginx, use o gerenciador de pacotes apt do Debian conforme mostrado.
apt update
apt install nginx
Assim que a instalação do Nginx for concluída, o instalador ativará o systemd para iniciar o serviço Nginx por enquanto e permitirá que ele seja iniciado automaticamente na inicialização do sistema. Você pode verificar o status do Nginx usando o seguinte comando systemctl.
systemctl status nginx
Você também pode usar os seguintes comandos importantes para iniciar, reiniciar, parar e recarregar a configuração do serviço Nginx no systemd.
systemctl start nginx
systemctl restart nginx
systemctl stop nginx
systemctl reload nginx
systemctl status nginx
Em seguida, se você tiver o firewall UFW em execução (geralmente está desativado por padrão), será necessário abrir as portas 80 (HTTP) e 443 (HTTPS) para permitir o tráfego de entrada. no Nginx.
ufw allow 80
ufw allow 443
ufw status
Neste ponto, você precisa testar se o Nginx está instalado corretamente, se está em execução e se pode servir páginas da web. Para fazer isso, abra um navegador da web e aponte-o para o seguinte URL para acessar a página da web Nginx Debian Debian.
http://SERVER_IP/
OR
http://localhost/
Instalando MariaDB no Debian 10
Em seguida, você precisa instalar um sistema de banco de dados para poder armazenar e gerenciar dados do seu site ou aplicativo da web. O Debian 10 suporta MariaDB por padrão, como um substituto imediato para o MySQL.
Para instalar o MariaDB, execute o seguinte comando.
apt install mariadb-server
Em seguida, verifique o status do serviço MariaDB, uma vez que ele é iniciado automaticamente pelo systemd e habilitado para iniciar na inicialização do sistema, para garantir que esteja instalado e funcionando, use o seguinte comando.
systemctl status mariadb
Para gerenciar (iniciar, reiniciar, parar e recarregar) o serviço MariaDB no systemd, você pode usar o seguinte comando.
systemctl start mariadb
systemctl restart mariadb
systemctl stop mariadb
systemctl reload mariadb
Em seguida, a implantação do MariaDB será insegura por padrão. Você precisa executar um script de shell que acompanha o pacote, para permitir melhorar a segurança do banco de dados.
mysql_secure_installation
Depois de executar o script, você passará por uma série de perguntas a seguir para modificar as configurações padrão da instalação do MariaDB, conforme mostrado na captura de tela a seguir.
Instalando PHP-FPM (Fast Process Manager) no Debian 10
Ao contrário do Apache e de outros servidores web, o Nginx não fornece suporte nativo para PHP, pois usa PHP-FPM para lidar com solicitações de páginas PHP. PHP-FPM é um daemon FastCGI alternativo para PHP que permite que um site lide com altas cargas, usando processos de trabalho para lidar com solicitações.
Para instalar o PHP-FPM versão 7.3 e um módulo PHP para comunicação com um sistema de banco de dados MariaDB/MySQL, execute o seguinte comando.
apt install php-fpm php-mysqli
Após a instalação do PHP-FPM, o instalador ativará o systemd para iniciar o serviço PHP-FPM por enquanto e permitirá que ele seja iniciado automaticamente na inicialização do sistema. Para verificar se ele está funcionando, emita o seguinte comando.
systemctl status php-fpm
Você também pode iniciar, reiniciar, parar e recarregar a configuração do serviço PHP-FPM no systemd, como segue.
systemctl start php-fpm
systemctl restart php-fpm
systemctl stop php-fpm
systemctl reload php-fpm
systemctl status php-fpm
Em seguida, você precisa proteger o PHP-FPM fazendo algumas alterações no arquivo de configuração /etc/php/7.3/fpm/php.ini como segue.
vi /etc/php/7.3/fpm/php.ini
Procure o ;cgi.fix_pathinfo=1
, descomente-o removendo o caractere ;
no início, defina seu valor como 0
. Isso evita que o Nginx permita que arquivos não PHP sejam executados como PHP.
cgi.fix_pathinfo=0
Por padrão, PHP-FPM é configurado para escutar em um soxket UNIX, /run/php/php7.3-fpm.sock conforme definido em /etc /php/7.3/fpm/pool.d/www.conf arquivo de configuração. Você deve configurar todo o seu bloco de servidores (ou hosts virtuais) para usar este soquete se quiserem processar e servir páginas PHP.
Você pode usar o arquivo de configuração de bloco de servidor padrão do Nginx /etc/nginx/sites-available/default para testá-lo.
vi /etc/nginx/sites-available/default
Procure a seção a seguir e remova o comentário para passar scripts PHP para o servidor FastCGI conforme mostrado na captura de tela.
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}
A seguir, teste se a estrutura de configuração do Nginx está OK, usando o seguinte comando.
nginx -t
Se a configuração do Nginx estiver OK, para aplicar as alterações feitas recentemente, reinicie os serviços php7.3-fpm e nginx da seguinte forma.
systemctl restart php7.2-fpm
systemctl restart nginx
Testando processamento PHP-FPM no Nginx
Depois de configurar PHP-FPM e Nginx para trabalharem juntos, você precisa testar se dois serviços podem processar e fornecer páginas PHP aos clientes. Para fazer isso, crie um script PHP simples em sua web DocumentRoot como segue.
echo “<?php phpinfo(); ?>” | tee /var/www/html/info.php
Por fim, abra um navegador e digite o seguinte endereço para ver as configurações do PHP no sistema geradas pela função phpinfo()
.
http://SERVER_IP/info.php
OR
http://localhost/info.php
Conclusão
Neste artigo, mostramos como instalar e configurar a pilha LEMP no Debian 10. Se você tiver alguma dúvida ou feedback, entre em contato e informe-nos por meio do formulário de comentários abaixo.