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: 1.192 ]

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

Instalar o TeamViewer no Ubuntu/Debian

Ubuntu ou Debian com KDE Plasma

dstat - Ferramenta de Monitoramento no Linux

Habilitar o HTTP/2 no Apache do Ubuntu 16.04/20.04

Ubuntu 18.04 LTS - LAMP - Linux, Apache, MySQL ou MariaDB, PHP 7.2

Leitura recomendada

KDM no Slackware 11.0

Suporte a impressão e escâner em multifuncionais da HP (configuração completa)

Entendendo o boot-update

Conexão dial-up no Gnome usando o network-admin

Calculando valores UMASK

  
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