Pesquisa de site

Como instalar o LEMP (Linux, Nginx, MariaDB, PHP-FPM) no Debian 9 Stretch


Como o Debian alimenta uma grande porcentagem de servidores web em todo o mundo, neste artigo explicaremos como instalar o LEMP (Linux + Nginx + MariaDB + PHP-FPM) no Debian 9 Stretch como uma alternativa ao LAMP (use este guia para instale LAMP no Debian 9).

Além disso, mostraremos como realizar uma configuração mínima de Nginx/PHP-FPM para que até mesmo novos administradores de sistema possam configurar novos servidores web para configurar páginas dinâmicas.

Para fazer isso, aproveitaremos as atualizações recentes dos repositórios oficiais da distribuição. Presume-se que você instalou o Debian 9 em um bare metal, máquina virtual ou VPS, ou atualizou do Jessie.

Instalando LEMP no Debian 9 Stretch

Você pode estar se perguntando por que mencionamos PHP-FPM em vez de PHP como parte da pilha LEMP. Ao contrário de outros servidores web, o Nginx não fornece suporte nativo para PHP.

Por esse motivo, PHP-FPM (Fast Process Manager) é usado para lidar com solicitações de páginas PHP. Você pode aprender mais sobre PHP-FPM no site oficial do PHP.

A versão padrão fornecida nos repositórios Debian php7.0-fpm. Como você provavelmente pode imaginar com base no nome do pacote, esta versão pode até lidar com solicitações para páginas incluindo código PHP 7.

NOTA: Se o Apache foi instalado na mesma caixa anteriormente, certifique-se de que ele esteja parado e desabilitado antes de continuar.

Dito isso, vamos instalar os componentes da pilha LEMP da seguinte forma:

aptitude update 
aptitude install nginx mariadb-server mariadb-client php-mysqli php7.0-fpm

Quando a instalação for concluída, primeiro vamos nos certificar de que Nginx e PHP-FPM estão em execução e habilitados para iniciar na inicialização:

systemctl status nginx php7.0-fpm

Se indicar que um ou ambos os serviços não estão em execução, faça isso.

systemctl start nginx php7.0-fpm
systemctl enable nginx php7.0-fpm

Como acontece com toda instalação de MariaDB ou MySQL, é importante executar mysql_secure_installation para realizar uma configuração mínima de segurança e definir a senha para a conta raiz do banco de dados.

mysql_secure_installation

Se você não sabe como fazer isso, consulte a etapa 4 em Como instalar o MariaDB 10 no Debian e no Ubuntu.

Configurando o Nginx para usar PHP-FPM no Debian 9

O arquivo de configuração principal do Nginx é /etc/nginx/sites-available/default, onde precisaremos fazer as seguintes alterações dentro do bloco do servidor:

  • Certifique-se de que o bloco location que lida com solicitações PHP esteja ativado, com exceção daquele em que a diretiva fastcgi_pass aponta para a NIC de loopback.
  • Adicione index.php após a diretiva index para indicar que, se encontrada, ela deverá ser veiculada por padrão antes de index.html ou outros arquivos.
  • Adicione a diretiva server_name apontando para o endereço IP ou nome do host do seu servidor. Será 192.168.0.35 no nosso caso.
  • Além disso, certifique-se de que a diretiva root aponte para o local onde seus arquivos .php serão armazenados (/var/www/html por padrão) .

Quando terminar, você pode usar o seguinte comando para testar se há erros no arquivo de configuração.

nginx -t 

Neste ponto, seu /etc/nginx/sites-available/default deve ter a seguinte aparência, onde os números referentes à configuração representam a lista acima:

grep -Ev '#' /etc/nginx/sites-available/default

Testando Nginx e PHP-FPM no Debian 9

Para ter certeza de que agora estamos usando o Nginx como nosso servidor web, vamos criar um arquivo chamado info.php dentro de /var/www/html com o seguinte conteúdo:

<?php
	phpinfo();
?>

Então vá para http://192.168.0.35/info.php e verifique o topo da página onde você deverá ver isto:

Por fim, vamos apontar nosso navegador para o arquivo booksandauthors.php que criamos na pilha Install LAMP (Linux, Apache, MariaDB ou MySQL e PHP) no Debian 9.

Como você pode ver na imagem a seguir, este arquivo agora está sendo servido pelo Nginx:

NOTA: Se você notar que o Nginx fornece os arquivos .php como downloads em vez de executá-los, limpe o cache do navegador ou tente um navegador diferente . Particularmente, se você estiver usando o Chrome, talvez queira testar no modo de navegação anônima.

Resumo

Neste artigo, explicamos como instalar e configurar o Nginx para servir páginas .php dinâmicas. É importante ressaltar que após esta configuração inicial existem configurações que devem ser levadas em consideração para proteger o servidor web.

Você pode encontrar um resumo básico em O guia definitivo para proteger, fortalecer e melhorar o desempenho do servidor Web Nginx.

Se você estiver procurando hospedagem virtual no Nginx, leia Como configurar hosts virtuais baseados em nome e IP no NGINX.

Como sempre, não hesite em nos informar se tiver dúvidas ou comentários sobre este artigo.