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
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 como definir algumas configurações ou como bloquear acesso dos robôs dos sites de buscando utilizando o robots.txt
O PNG PIX é um banco de imagens grátis, com inúmeras imagens com seus fundos transparentes. O sonho de todo designer