Implantação LNMP no Linux

LinuxBeginner
Pratique Agora

Introdução

LNMP combina quatro componentes de software de código aberto: Linux, Nginx, MySQL e PHP. Esta pilha é frequentemente utilizada para alimentar aplicações web e websites dinâmicos. Aqui está uma breve visão geral de cada componente:

  • Linux: Um sistema operativo que fornece a base para o resto da pilha.
  • Nginx: Um servidor web de alto desempenho e proxy reverso que pode lidar com tráfego significativo e servir conteúdo estático de forma eficiente.
  • MySQL: Um sistema de gerenciamento de banco de dados relacional (SGBDR) popular que fornece uma maneira confiável de armazenar e recuperar dados para aplicações web.
  • PHP: Uma linguagem de scripting amplamente utilizada para desenvolvimento web, permitindo que você escreva código do lado do servidor que gera conteúdo HTML dinâmico.

Juntos, esses componentes formam uma plataforma poderosa e flexível para construir e implantar aplicações web modernas. LNMP é semelhante a LAMP (Linux, Apache, MySQL e PHP), mas usa Nginx em vez de Apache como servidor web. Nginx é conhecido por sua velocidade e eficiência, tornando-o uma escolha popular para sites e aplicações com alto tráfego.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível intermediário com uma taxa de conclusão de 73%. Recebeu uma taxa de avaliações positivas de 95% dos estudantes.

Instalar Nginx

Claro, aqui estão os passos específicos para instalar Nginx em um sistema Linux:

  1. Atualizar listas de pacotes: Execute o seguinte comando para atualizar as listas de pacotes no servidor:
sudo apt-get update
  1. Use o seguinte comando para instalar Nginx:
sudo apt-get install nginx
  1. Verifique se Nginx foi instalado com sucesso
nginx -v

A imagem a seguir indica que Nginx foi instalado com sucesso, e a versão atualmente instalada é 1.18.0.

nginx version: nginx/1.18.0

Instalar MySQL

Aqui estão os passos específicos para instalar MySQL em um sistema Linux:

  1. Use o seguinte comando para instalar MySQL:
sudo apt update
sudo apt-get install mysql-server
  1. Verifique se o servidor MySQL está instalado:
mysql --version

A figura a seguir indica que o MySQL foi instalado com sucesso.

mysql  Ver 8.0.35-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))
  1. Verifique se o MySQL foi iniciado e, caso contrário, inicie-o com o seguinte comando.
sudo systemctl status mysql
sudo systemctl start mysql

Instalar PHP

Aqui estão os passos específicos para instalar PHP em um sistema Linux:

  1. Instalar PHP e módulos relacionados: Use o seguinte comando para instalar PHP e seus módulos relacionados.
sudo apt update
sudo apt-get install php8.1-fpm php-mysql

Isso instalará o PHP FastCGI Process Manager (php-fpm) e a extensão MySQL para PHP (php-mysql).

  1. Verifique a versão do PHP.
sudo php -v

A figura a seguir indica que o PHP foi instalado com sucesso.

PHP 8.1.2-1ubuntu2.14 (cli) (built: Aug 18 2023 11:41:11) (NTS)

Configurar Nginx

Uma vez que o Nginx está instalado, ele deve ser configurado para funcionar com outros componentes. Siga estes passos para fazer isso:

  1. Edite o arquivo de configuração do Nginx /etc/nginx/sites-available/default:
sudo vim /etc/nginx/sites-available/default
  1. Substitua o conteúdo existente pelo seguinte:
server {
     listen 80 default_server;
     listen [::]:80 default_server;

     root /var/www/html;
     index index.php index.html index.htm index.nginx-debian.html;

     server_name _;

     location / {
            index index.php index.html index.htm;
        }

     location ~ \.php$ {
            fastcgi_pass unix:/run/php/php-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
}
  1. Verifique se a configuração do Nginx está correta:
sudo nginx -t
  1. Recarregue o nginx
sudo nginx -s reload

Configurar MySQL

  1. Execute o seguinte comando para acessar o MySQL.
sudo mysql
  1. Execute o seguinte comando para definir a senha do usuário root
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'Mysql@1234'
  1. Execute o seguinte comando para sair do banco de dados MySQL
exit

Configurar PHP

  1. Crie e edite um novo arquivo phpinfo.php para exibir informações do PHP.
sudo vim /var/www/html/phpinfo.php

Escreva o seguinte conteúdo.

<?php echo phpinfo(); ?>

Dicas: Onde /var/www/html é o diretório raiz do site, que pode ser visualizado executando o comando cat /etc/nginx/sites-enabled/default.

  1. Inicie o PHP-FPM: Uma vez que a instalação esteja completa, inicie o serviço PHP-FPM usando o seguinte comando.
sudo systemctl start php8.1-fpm

Dicas: Observe que o nome exato do serviço PHP-FPM pode diferir dependendo da sua distribuição Linux e versão do PHP.

  1. Habilite o PHP-FPM para iniciar na inicialização: Para garantir que o PHP-FPM inicie automaticamente quando o servidor inicializar, execute o seguinte comando.
sudo systemctl enable php8.1-fpm

Verificação

Digite http://127.0.0.1/phpinfo.php na barra de endereço do seu navegador para acessá-lo.

O resultado do acesso é mostrado abaixo, e a página de informações de configuração do PHP é visualizada com sucesso, o que significa que o ambiente LNMP foi implantado com sucesso.

PHP info page displayed

Alternativamente, o comando curl pode ser usado para verificar.

curl http://127.0.0.1/phpinfo.php -I

Resumo

Após concluir estas etapas, você deve ter implantado com sucesso a pilha LNMP. Você pode colocar o código do seu site no diretório /var/www/html e visitar seu site para garantir que ele seja executado corretamente.