Este post tem como objetivo servir de guia para quem deseja instalar o Nginx no Ubuntu 22.x, incluindo a instalação do PHP 8.1 e as suas configurações básicas.
Antes de qualquer coisa, é bom certificar que a lista de repositórios do Linux está atualizada:
sudo apt-get update
Parte 1. Instalando o Nginx
Logo em seguida, vamos instalar o nginx:
sudo apt-get install nginx
Pronto. Essa é a parte mais tranquila. Isso já basta para ter o nginx instalado e provavelmente funcionando no seu Ubuntu. Pode validar executando o comando sudo service nginx status. Também pode abrir o Firefox (ou qualquer outro navegador instalado) e acessar http://localhost (ou http://127.0.0.1). Caso o serviço esteja parado ou sem execução, tente iniciá-lo. Fiz um post recentemente ensinando os comandos para iniciar, parar e reiniciar os serviços no linux.
Parte 2. Instalando o PHP 8.1
sudo apt-get install php8.1-fpm
Também já vamos deixar instalado o modulo de conexão com o MySQL para o futuro:
sudo apt-get install php8.1-mysql
Existe uma configuração do php que precisa ser alterada para que ele trabalhe bem com o nginx. Ela está no arquivo php.ini. Para editar vamos usar o comando:
sudo nano /etc/php/8.1/fpm/php.ini
Procure por pathinfo. A linha estará com um ";" (ponto e virgula) no inicio. Pode remover. Também é preciso mudar o valor de 1 para 0. A imagem acima ilustra como deverá ficar. Feito isso, pode salvar e sair.
Parte 3. Configurando um virtual host local
Agora para fechar, vamos criar uma URL local para ver o funcionamento do nginx com o PHP. Para isso vamos configurar um vhost que servirá apenas local para teste (bom também para ambiente de desenvolvimento... já é meio caminho para a instalação do Laravel ;)).
sudo nano /etc/hosts
Vamos acrescentar na lista o caminho 127.0.0.1 testeapp. Veja a imagem como deve ficar:
Feito isso, pode salvar e sair.
Agora, para avançar, precisamos configurar a URL dentro do Nginx. Abaixo está uma referência para ajudar. É importante notar que já está preparado para futuras instalações do Laravel. Claro, assim que estiver mais familiarizado com as configurações, sinta-se à vontade para personalizar conforme sua preferência. Este é o modelo que eu gosto de usar. Pode copiar o conteúdo abaixo, pois colaremos dentro do arquivo de configuração.
server { listen 80; server_name testeapp; root /var/www/vhosts/testeapp/public;
index index.html index.htm index.php;
charset utf-8;
location / { try_files $uri $uri/ /index.php?$query_string; }
location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; }
access_log off; error_log /var/log/nginx/testeapp-error.log error;
error_page 404 /index.php;
sendfile off;
location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_intercept_errors on; fastcgi_buffer_size 16k; fastcgi_buffers 4 16k; }
location ~ /\.ht {
deny all;
}
}
sudo nano /etc/nginx/sites-available/testeapp.conf
Depois de colar o conteúdo que você copiou acima, basta salvar e sair.
Com isso o nginx já sabe que tem um novo site disponível. Agora precisamos dizer para ele que esse site está ativo. Para isso, vamos criar um caminho virtual no diretório sites-enabled. Veja o comando:
cd /etc/nginx/sites-enabled
sudo ln -s ../sites-available/testeapp.conf
Agora vamos criar o diretório apontado no vhost e também um arquivo PHP de teste.
sudo mkdir -p /var/www/vhosts/testeapp/public
e para criar o arquivo de teste:
sudo nano /var/www/vhosts/testeapp/public/index.php
O conteúdo do arquivo, ponha apenas para printar o phpindo. Veja a imagem do conteúdo abaixo:
Para fechar, vamos reiniciar os serviços do nginx e do php-fpm:
sudo service nginx restart
sudo service php8.1-fpm restart
Agora pelo navegador, podemos testar a URL http://testeapp. Ela deverá retornar o phpinfo. Veja a imagem abaixo:
Conclusão
Peço desculpas pelo post longo, mas foi necessário para fornecer instruções detalhadas. Agora você está pronto para instalar o Nginx e o PHP 8.1, e também aprendeu a configurar um ambiente básico de web host. Essas habilidades são muito úteis para ambientes de teste ou desenvolvimento. Obrigado por acompanhar!
0 Comentários
Obrigado por ler nosso conteúdo no eduardolam.com.br. Sua opinião é fundamental para nós! Deixe seu comentário abaixo e compartilhe suas ideias, dúvidas ou experiências. Cada feedback é uma oportunidade de aprimorarmos ainda mais nossos artigos e ajudar outros leitores. Participe da conversa!