Instalando Nginx e PHP no Ubuntu

O Nginx é hoje um dos principais servidores WEB existentes, sendo um dos mais utilizados para sites estáticos da atualidade. Neste material, irei demonstrar como instalar e testar o Nginx com o PHP no seu servidor, ou em sua estação de trabalho.

[ Hits: 5.334 ]

Por: Diego Mendes Rodrigues em 21/04/2020 | Blog: https://www.linkedin.com/in/diegomendesrodrigues/


Introdução



Gerado a partir da necessidade de desenvolver uma solução capaz de suportar a crescente demanda de solicitações na Internet, o Nginx foi criado em 2002, por um engenheiro de softwares chamado Igor Sysoev. Ele foi lançado em 2004 oficialmente como um servidor WEB e desde 2018, já possui mais de 20% do tráfego total da Internet, superando a Microsoft e o Google, considerando apenas os sites realmente ativos.

O que é o Nginx

A forma de ler seu nome é "engine-x", sendo que ele é um servidor WEB (HTTP e IMAP/POP3/Proxy). Parece o conhecido Apache, só que muito mais rápido! O Nginx consome bem menos memória que o Apache, pois lida com requisições WEB do tipo "event-based web server", enquanto que o Apache é baseado no "process-based server", podendo ambos trabalharem juntos.

É possível diminuir o consumo de memória do Apache, passando as requisições WEB primeiro pelo Nginx, assim, o Apache não precisa servir arquivos estáticos e pode utilizar o bom controle de cache feito pelo Nginx.

Algumas características básicas do Nginx que gostaria de destacar:
  • Manipulação de arquivos estáticos, além da auto-indexação de arquivos;
  • Cache de descritor de arquivos abertos;
  • Proxy reverso acelerado com cache, com balanceamento de carga simples e tolerância a falhas;
  • Suporte acelerado com cache das seguintes tecnologias: FastCGI, uWSGI, SCGI e servidores memcached;
  • Arquitetura modular;
  • Filtros que incluem gzipping, intervalos de bytes, respostas fragmentadas, XSLT, SSI e transformação da imagem de filtro;
  • Inclusões múltiplas SSI dentro de uma página única que podem ser processadas em paralelo se forem manuseadas pelos servidores de proxy, ou do FastCGI;
  • SSL e TLS com apoio ao SNI;
  • Módulo de reescrita com mudança URI usando expressões regulares;
  • Controle de acesso baseado no endereço IP do cliente, além de autenticação HTTP Basic;
  • Métodos POST, GET, PUT, DELETE, MKCOL, COPY e MOVE;
  • Streaming de FLV e MP4;
  • Limitação de taxa de resposta.

Como instalar o Nginx

O Nginx está disponível nos repositórios oficiais do Ubuntu, sendo então necessário você atualizar sua lista de pacotes e depois realizar a instalação:

sudo apt update
sudo apt install -y nginx
Linux: Instalando Nginx e PHP no Ubuntu
Linux: Instalando Nginx e PHP no Ubuntu
Após a instalação, o Ubuntu inicia automaticamente seu servidor WEB com o Nginx.

Para verificar se o Nginx foi instalado e está em funcionamento, utilize o seguinte comando:

sudo systemctl status nginx

No retorno desse comando, você deve receber: Active: active (running) since ...
Linux: Instalando Nginx e PHP no Ubuntu

Liberar o Nginx no Firewall

Caso você tenha um Firewall em funcionamento no seu servidor ou na sua estação de trabalho, recomendo que libere as portas HTTP (80) e HTTPS (443) no seu Firewall com o UFW. Essa liberação é bem simples com o seguinte comando:

sudo ufw allow 'Nginx Full'

Para verificar, utilize:

sudo ufw status

Após esse comando, você pode observar que as portas 80 e 443 estão abertas na sua máquina.
Linux: Instalando Nginx e PHP no Ubuntu
Iremos agora testar o funcionamento do servidor WEB Nginx. Para isso, precisamos do endereço IP da máquina, que pode ser obtido com o comando:

ip addr

Veja que o meu IP é o 192.168.0.74.
Linux: Instalando Nginx e PHP no Ubuntu
Posso abrir meu navegador WEB e digitar esse IP, sendo que recebo uma página inicial padrão do Nginx.
Linux: Instalando Nginx e PHP no Ubuntu

Como instalar o PHP no Nginx

Nesse momento, você possui o servidor WEB instalado, mas não possui nenhum software instalado que possa gerar o conteúdo dinâmico, como o PHP.

Como o Nginx não possui o processamento nativo do PHP, você precisará instalar o "php-fpm", que significa "Gerenciador de Processos FastCGI". Diremos então ao Nginx para passar os pedidos PHP para este software de processamento.

A instalação é simples, utilizando o apt:

sudo apt install -y php-fpm
Linux: Instalando Nginx e PHP no Ubuntu
Agora, será preciso realizar algumas configurações no Nginx para que ele trabalhe com o "php-fpm", ou seja, para ele utilizar o processador de conteúdo dinâmico. Para fazer isso, você irá alterar o conteúdo dos arquivos que estão no diretório /etc/nginx/sites-available/.

Eu possuo apenas o site padrão no meu servidor WEB, então, ao realizar um ls, recebo apenas o arquivo default:

ls /etc/nginx/sites-available/
Linux: Instalando Nginx e PHP no Ubuntu
Irei então editar este arquivo com o comando:

sudo nano /etc/nginx/sites-available/default

Altere e adicione o seguinte conteúdo no seu arquivo de configuração:

server {
        listen 80;
        root /var/www/html;
        index index.php index.html index.htm index.nginx-debian.html;
        server_name _;

        location / {
                try_files $uri $uri/ =404;
        }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        }

        location ~ /\.ht {
                deny all;
        }
}

Agora salve o arquivo com Ctrl+o e feche ele com Ctrl+x.
Linux: Instalando Nginx e PHP no Ubuntu
Verifique se o arquivo de configuração está escrito da forma correta, com o comando:

sudo nginx -t
Linux: Instalando Nginx e PHP no Ubuntu
Finalmente, recarregue seu Nginx da seguinte forma:

sudo systemctl reload nginx

Iremos agora criar um arquivo PHP para testar a sua configuração. O arquivo irá chamar "informacoes.php" e estará na pasta /var/www/html/:

sudo nano /var/www/html/informacoes.php

O conteúdo do arquivo será:

phpinfo();
?>

Agora salve o arquivo com Ctrl+o e feche ele com Ctrl+x.
Linux: Instalando Nginx e PHP no Ubuntu
Acesse esse arquivo no seu navegador WEB, utilizando o endereço: http://IP_DO_SERVIDOR/informacoes.php

Você receberá uma página com as informações do PHP instalado:
Linux: Instalando Nginx e PHP no Ubuntu

Conclusão

Pronto! Seu Nginx está instalado e configurado com o PHP no seu servidor, ou na sua estação de trabalho.

Caso queira maiores informações, seguem os sites dessas duas tecnologias:
   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Adicionar mensagens iniciais no terminal nas sessões de sudo

Instalar o GeoServer no Ubuntu

Download de Arquivos com Verificação do Hash SHA 256

Truques úteis de linha de comando Linux para iniciantes

Port Scanner com Python

Leitura recomendada

Slackpkg, uma ótima ferramenta para Slackware

Otimizando o uso do seu disco rígido usando a mesma /home para várias distribuições

hpfall - Acelerômetro em notebooks HP para evitar perda de dados

Adicionando ou removendo discos do Storage

Interligando o Asterisk com o callcenter

  
Comentários
[1] Comentário enviado por Error403 em 24/04/2020 - 02:38h

Muito bom! Excelente explicação!!!

[2] Comentário enviado por diegomrodrigues em 19/05/2020 - 08:13h


[1] Comentário enviado por Error403 em 24/04/2020 - 02:38h

Muito bom! Excelente explicação!!!


Obrigado!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts