Fonte: https://blog.remontti.com.br/7413
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | server { listen 80; listen [::]:80; root /var/www/html; index index.php index.html index.htm; server_name _; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; } } |
Teste a configuração se não tem nada errado e restart os serviços:
| # nginx -t # systemctl restart nginx php8.2-fpm |
Vamos criar um arquivo em PHP para testa se nosso NGINX está interpretando o PHP.
| # echo '<?php phpinfo();' >> /var/www/html/teste.php |
Acesse em seu navegador http://IP-SERVIDOR/teste.php
Servidor WEB com PHP está funcionando!
Exemplo para multiplos domínios/subdomínios
| # vim /etc/nginx/sites-available/sub1.conf |
Neste ex: vou representar o sub1.remontti.com.br
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | server { listen 80; listen [::]:80; root /var/www/sub1; index index.php index.html index.htm; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; server_name sub1.remontti.com.br; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; } } |
| # vim /etc/nginx/sites-available/sub2e3.conf |
Neste ex: vou representar o sub2.remontti.com.br e sub3.remontti.com.br
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | server { listen 80; listen [::]:80; root /var/www/sub2e3; index index.php index.html index.htm; server_name sub2.remontti.com.br sub3.remontti.com.br; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; } } |
Link os arquivos no diretório “/etc/nginx/sites-available” que será carregado as novas configurações
| # ln -s /etc/nginx/sites-available/sub1.conf /etc/nginx/sites-enabled/ # ln -s /etc/nginx/sites-available/sub2e3.conf /etc/nginx/sites-enabled/ |
Crie os diretórios referente a cada server_name.
| # mkdir /var/www/sub1 # mkdir /var/www/sub2e3 # echo '<?php echo "Olá mundo do sub1!"; ?>' >> /var/www/sub1/index.php # echo '<?php echo "Olá mundo do sub2e3!"; ?>' >> /var/www/sub2e3/index.php |
Verifique se não tem nenhum erro e reinicie o serviço:
| # nginx -t # systemctl restart nginx |
:: Let’s Encrypt ::
Criando certificado grátis para seus sub/domínios.
| # apt install certbot python3-certbot-nginx |
Para gerar o certificado use o comando:
Não esqueça de colocar no seu cron para ele renovar o certificado, pois a cada 90 ele expira. Neste exemplo todo dia primeiro tento renovar.
Para testar acesse: https://www.cdn77.com/tls-test/
Gostou?
Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!