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
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:
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óriosites-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óriosites-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.