O NGINX é um dos servidores web mais populares no mundo e é responsável por hospedar alguns dos maiores e mais acessados sites na internet. Dependendo o cenário ele possui recursos mais amigáveis do que o Apache.

Pré-requisitos

Antes de começar esse guia, você deve ter um usuário comum, que não seja o root e com privilégios sudo configurado em seu servidor.

Passo 1 – Instalando o NGINX

Devido ao NGINX estar disponível nos repositórios padrão do Ubuntu, é possível instalá-lo a partir desses repositórios utilizando o apt.

Como esta é primeira interação com o sistema de gerenciamento de pacotes apt, vamos atualizar nosso índice local de pacotes para que possamos acessar as listas de pacotes mais recentes. Depois, podemos instalar o NGINX:

sudo apt update #atualiza os repositórios
sudo apt install nginx #instala o Nginx

Após aceitar o procedimento, o apt irá instalar o NGINX e quaisquer outras dependências necessárias em seu servidor.

Passo 2 – Ajustando o Firewall

Antes de testar o NGINX, precisamos reconfigurar nosso software de firewall para permitir acesso ao serviço. O NGINX se registra como um serviço com o ufw após a instalação, tornando bem fácil permitir o acesso ao NGINX.

Podemos listar as configurações das aplicações do Firewall com o seguinte comando:

sudo ufw app list #lista os aplicativos ativos no firewall

A saída deve ser parecida como:

Available applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH

Como você pode ver, existem três perfis disponíveis para o NGINX:

  • Nginx Full: Esse perfil abre ambas as portas 80 (normal, tráfego não criptografado) e porta 443 (TLS/SSL, tráfego criptografado);
  • Nginx HTTP: Esse perfil abre apenas a porta 80 (normal, tráfego não criptografado);
  • Nginx HTTPS: Esse perfil abre apenas a porta 443 (TLS/SSL, tráfego criptografado).

Como ainda não configuramos o SSL no servidor, você pode permitir apenas tráfego na porta 80.

Você pode habilitar isso digitando:

sudo ufw allow 'Nginx HTTP' #Permite tráfego HTTP para o Nginx

Você pode verificar a alteração digitando:

sudo ufw status #verifica status do Firewall

Você deve ver o tráfego HTTP permitido:

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Nginx HTTP                 ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Nginx HTTP (v6)            ALLOW       Anywhere (v6)

Passo 3 – Verificando seu servidor web

Ao final do processo de instalação, o Ubuntu 19.04 inicia o NGINX. O servidor web já deve funcionar.

Podemos verificar com o sistema systemd para ter certeza de que o serviço está executando, digitando:

systemctl status nginx #verifica status do Nginx
systemctl status nginx

Como você pode ver acima, o serviço está sendo processador com sucesso. Entretanto, a melhor forma de testar isso é, na verdade, requisitando uma página ao NGINX.

Você pode acessar a página inicial padrão do NGINX para confirmar que o software está funcionando. Navegue pelo seu navegador até o IP do seu servidor: http://ip_do_seu_servidor

Você deve ver a página inicial padrão do NGINX:

Nginx - Bem vindo

Essa página nos mostra que o servidor está funcionando corretamente.

Passo 4 – Gerenciando o Processo do NGINX

Agora que você tem seu servidor web NGINX funcionando, vamos revisar alguns comandos básicos de gerenciamento.

Para parar seu servidor web, digite:

sudo systemctl stop nginx #para serviço Nginx 

Para iniciar o servidor web quando ele estiver parado, digite:

sudo systemctl start nginx #inicia serviço Nginx

Para parar e depois iniciar o serviço novamente, digite:

sudo systemctl restart nginx #reinicia serviço Nginx

Se você estiver simplesmente realizando alterações de configuração, o NGINX muitas vezes recarrega sem perder as conexões. Para fazer isso, digite:

sudo systemctl reload nginx #recarrega serviço Nginx

Por padrão, o NGINX é configurado para iniciar automaticamente quando o servidor é inicializado. Para alterar, você pode desabilitar digitando:

sudo systemctl disable nginx #desabilita o inicio automatico do serviço Nginx

Passo 5 – Familiarizando-se com os Arquivos e Diretórios Importantes do NGINX

Agora que você sabe como gerenciar o serviço NGINX, você deve tomar alguns minutos para se familiarizar com alguns diretórios e arquivos importantes. Vamos lá!

Conteúdo

  • /var/www/html: O conteúdo web de fato, que por padrão consiste somente da página inicial do NGINX que você viu anteriormente, é servido pelo diretório /var/www/html. Isso pode ser mudado alterando-se arquivos de configuração do NGINX.

Configuração do Servidor

  • /etc/nginx: O diretório de configuração do NGINX. Todos os arquivos de configuração do NGINX estão localizados aqui.
  • /etc/nginx/nginx.conf: O arquivo principal de configuração do NGINX. Ele pode ser modificado para realizar alterações na configuração global do NGINX.
  • /etc/nginx/sites-available: O diretório onde “blocos de servidor” de sites podem ser armazenados. O NGINX não utilizará os arquivos de configuração encontrados nesse diretório a menos que eles estejam vinculados ao diretório sites-enabled. Tipicamente, toda configuração de blocos de servidor é feita nesse diretório, e depois habilitada vinculando-se ao outro diretório.
  • /etc/nginx/sites-enabled/: O diretório onde “blocos de servidor” habilitados por sites são armazenados. Tipicamente, estes são criados através da vinculação aos arquivos de configuração encontrados no diretório sites-available.
  • /etc/nginx/snippets: Esse diretório contém fragmentos de configuração que podem ser incluídos em outras partes da configuração do NGINX.

Logs do Servidor

  • /var/log/nginx/access.log: Toda requisição ao seu servidor web é gravada nesse arquivo de log a menos que o NGINX esteja configurado para fazer o contrário.
  • /var/log/nginx/error.log: Quaisquer erros do NGINX serão gravados nesse log.