Instalando Nginx + PHP 8.0 em seu servidor Ubuntu 18.04

Tutoriais | em | por Matheus Pereira

Introdução

Neste tutorial vamos aprender a rodar uma aplicação web com Nginx e PHP 8 em um servidor com o sistema operacional baseado no Ubuntu 18.04. O Nginx é um dos servidores web mais populares do mundo, concorrendo com o Apache, porém mais amigável e otimizado.

Para este guia, será necessário você ter um servidor com o Ubuntu já instalado.

Passo 01 - Atualizando o Linux

Neste passo vamos deixar o Ubuntu atualizado e pronto para receber todos os pacotes. Execute o seguinte comando em seu terminal:

$ sudo apt-get update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade

Passo 02 - Instalando PHP

Chegou o momento de instalar o PHP em seu servidor:

$ sudo add-apt-repository -y ppa:ondrej/php && sudo apt-get update

Com o PHP já instalado, execute o comando abaixo para instalar seus pacotes e dependências. Você pode adicionar novos ou remover conforme sua necessidade:

$ sudo apt-get install php8.0-{common,cli,fpm,dev,mbstring,gd,bz2,curl,intl,mysql,readline,xml,zip}

Confirme toda a ação e aguarde a finalização da instalação

Passo 03 - Instalando Nginx

O Nginx é um pacote disponível nos repositórios padrões do Ubuntu, para instalar é simples, basta executar o seguinte comando:

$ sudo apt-get install nginx

Passo 04 - Ajustando Firewall

Verifique os perfis de aplicativo ufw disponíveis em seu servidor com o seguinte comando:

$ sudo ufw app list

Se tudo estiver corretamente configurado, essa deverá ser a resposta:

Available applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH

Agora nós vamos liberar o acesso mais restritivo que permitirá o tráfego na porta 80, além do tráfego pré-configurado:

$ sudo ufw allow 'Nginx HTTP'

Para verificar a mudança, utilize:

$ sudo ufw status

Passo 05 - Verificando Nginx

Neste passo, iremos verificar o status do Nginx, se a resposta do comando abaixo for "active (running)", você conseguirá acessar o seu servidor a partir de http://seu_ip e ver a página padrão do Nginx:

$ sudo ufw status

Passo 06 - Configurando um bloco de servidor

Vamos configurar um domínio chamado exemplo.com com um subdomínio de www.exemplo.com (ambos devem ser substituidos pelo seu domínio)

Crie um diretório exclusivo para o seu projeto em /var/www/

$ sudo ufw status

Atribua a posse de permissão do diretório:

$ sudo chmod -R 755 /var/www/exemplo.com

Sua index devem estar sempre localizado dentro da pasta html, poisé para onde nós vamos apontar o "root"

Crie um arquivo em /etc/nginx/sites-avaliable:

$ sudo chmod -R 755 /var/www/exemplo.com

No arquivo exemplo.com, cole o seguinte bloco de configuração:

server {
    listen 80;
    listen [::]:80;

    root /var/www/exemplo.com/html;
    index index.php index.html index.htm;

    server_name exemplo.com www.exemplo.com;

  	location ~* \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php/php8.0-fpm.sock;
        fastcgi_index index.php;
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        include /etc/nginx/fastcgi_params;
    }
}

Salve e feche o arquivo. Com essas configurações, estamos dizendo que o root será a pasta /var/www/exemplo.com/html, o host será exemplo.com, utilizando o PHP 8 e por este motivo, a ordem de busca pelo index é .php e depois .html.

Agora vamos habilitar um link (atalho) deste arquivo em /etc/nginx/sites-enabled

$ sudo ln -s /etc/nginx/sites-available/exemplo.com /etc/nginx/sites-enabled/

Passo 07 - Comandos

Agora o seu servidor deve estar configurando, mas para rodar sua aplicação, será necessário rodar alguns comandos. Para garantir a execução do PHP 8.0, reinicie o serviço utilizando:

$ sudo ln -s /etc/nginx/sites-available/exemplo.com /etc/nginx/sites-enabled/

Agora vamos para o Nginx, certifique-se que nenhum problema está sendo identificado antes de reiniciar o serviço:

$ sudo nginx -t

Caso esteja tudo certo, o output será de uma mensagem positiva dizendo que está ok. Basta reiniciar o Nginx para aplicar as alterações.

$ sudo systemctl restart nginx

Pronto! Basta acessar http://exemplo.com de qualquer navegador e ver sua aplicação rodando.

Conclusão

O seu servidor Web está instalado e executando. Você pode realizar configurações gerais do Nginx e PHP em seus respectivos arquivos, caso prefira, também pode configurar para cada servidor configurado.

Matheus Pereira

28 anos, paulistano, desenvolvedor back-end e graduado em tecnologia da informação. Adoro músicas, jogos eletrónicos e sou completamente apaixonado pelo mundo digital.

Posts Relacionados

Momento Netflix: Assistam Explicando Código de Programação Notícias  l 

Assista um episódio do documentário "Explicando" da Netflix para conhecer mais sobre Código de Programação e o mundo binário da computação

Entenda o robots.txt e sua importância para os buscadores Curiosidades  l 

Entenda como definir algumas configurações ou como bloquear acesso dos robôs dos sites de buscando utilizando o robots.txt

Conheça o PngPix, um banco grátis de imagens transparentes Curiosidades  l 

O PNG PIX é um banco de imagens grátis, com inúmeras imagens com seus fundos transparentes. O sonho de todo designer

CARREGANDO