Pesquisa de site

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

  1. 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.