Guia de Instalação do Nginx: Passo a Passo para Iniciantes

Domine a configuração inicial do seu servidor web de alta velocidade! Este guia abrangente orienta iniciantes através da instalação precisa, passo a passo, do Nginx tanto em sistemas Debian/Ubuntu quanto em CentOS/RHEL. Aprenda comandos essenciais para iniciar, parar e verificar o serviço, além da configuração crucial do firewall para garantir acessibilidade imediata. Coloque seu servidor web Nginx em funcionamento em minutos.

Guia de Instalação do Nginx: Passo a Passo para Iniciantes

Você precisa ter o Nginx instalado, em execução e acessível antes de usá-lo como servidor web, proxy reverso, balanceador de carga ou cache. Este guia de instalação do Nginx aborda a configuração básica usando gerenciadores de pacotes em sistemas Debian/Ubuntu e Linux estilo RHEL, e mostra como verificar o serviço e liberar o firewall.

Os comandos abaixo assumem um servidor baseado em systemd e um usuário com acesso sudo.


Pré-requisitos

Antes de começar, certifique-se de ter:

  • Um servidor ou máquina virtual executando Ubuntu, Debian, RHEL, CentOS Stream, Rocky Linux, AlmaLinux ou uma distribuição similar.
  • Um usuário não root com privilégios sudo.
  • Acesso ao shell via SSH ou terminal local.

Instalação em Sistemas Debian/Ubuntu

Em sistemas baseados em Debian, o Nginx está disponível nos repositórios padrão. Atualize o índice de pacotes primeiro para que o apt veja os metadados atuais dos pacotes.

Passo 1: Atualizar Listas de Pacotes

Execute os seguintes comandos para atualizar seu índice de pacotes local:

sudo apt update

Passo 2: Instalar o Nginx

Use o comando apt install para baixar e instalar o Nginx e suas dependências:

sudo apt install nginx

Passo 3: Verificar o Status da Instalação

Após a conclusão da instalação, o serviço geralmente é iniciado automaticamente. Você pode verificar o status usando systemctl:

sudo systemctl status nginx

Você deve ver uma saída indicando que o serviço está active (running).

Instalação em Sistemas CentOS/RHEL

Em sistemas estilo RHEL, use dnf nas versões atuais e yum nas mais antigas. Algumas distribuições incluem o Nginx em seus próprios repositórios; outras podem precisar do EPEL ou de um repositório oficial do fornecedor. Se dnf install nginx não encontrar o pacote, habilite o EPEL ou verifique as notas de empacotamento do Nginx da sua distribuição.

Passo 1: Instalar o Repositório EPEL

Se seu sistema precisar do EPEL, instale-o primeiro.

Para CentOS/RHEL 7:

sudo yum install epel-release

Para CentOS/RHEL 8/9 (usando DNF):

sudo dnf install epel-release

Passo 2: Instalar o Nginx

Agora, instale o Nginx usando yum ou dnf:

# Usando yum (sistemas antigos)
sudo yum install nginx

# OU usando dnf (sistemas novos)
sudo dnf install nginx

Passo 3: Iniciar e Habilitar o Serviço Nginx

Ao contrário do Debian/Ubuntu, o Nginx pode não iniciar automaticamente após a instalação em sistemas baseados em RHEL. Você deve iniciá-lo manualmente e habilitá-lo para executar na inicialização do sistema:

# Iniciar o serviço imediatamente
sudo systemctl start nginx

# Garantir que ele inicie na reinicialização
sudo systemctl enable nginx

# Verificar o status
sudo systemctl status nginx

Configuração do Firewall: Permitir HTTP e HTTPS

Após a instalação, certifique-se de que seu firewall permita tráfego web. Se o serviço estiver em execução, mas a porta 80 ou 443 estiver bloqueada, sua verificação no navegador falhará de fora do servidor.

Usando UFW no Ubuntu/Debian

O pacote Nginx do Ubuntu geralmente registra perfis de aplicação UFW. Abra HTTP e HTTPS se você planeja adicionar TLS em breve.

# Listar perfis de aplicação disponíveis
sudo ufw app list

# Permitir tráfego web padrão (HTTP/HTTPS)
sudo ufw allow 'Nginx Full'

# Recarregar o firewall para aplicar as alterações
sudo ufw reload

Usando Firewalld em Sistemas Estilo RHEL

O Firewalld usa zonas para gerenciar regras. Estes comandos adicionam os serviços padrão http e https à zona padrão ativa.

# Permitir tráfego HTTP (porta 80)
sudo firewall-cmd --permanent --add-service=http

# Permitir tráfego HTTPS (porta 443)
sudo firewall-cmd --permanent --add-service=https

# Recarregar as regras do firewall
sudo firewall-cmd --reload

Verificar se o Nginx Está Funcionando

Com o pacote instalado e o firewall liberado, confirme que o Nginx está servindo a página padrão.

Método 1: Verificação no Navegador Web

Abra seu navegador web preferido e navegue até o endereço IP ou nome de domínio do seu servidor:

http://SEU_ENDERECO_IP_DO_SERVIDOR

Se bem-sucedido, você deve ver a página de boas-vindas padrão do Nginx. O texto exato e o caminho do arquivo variam conforme a distribuição.

Método 2: Verificação pela Linha de Comando

Use curl do próprio servidor para verificar o listener local:

curl http://localhost

Este comando deve retornar HTML. Se falhar localmente, verifique systemctl status nginx e /var/log/nginx/error.log antes de solucionar problemas de DNS ou regras de firewall na nuvem.

Comandos Essenciais de Gerenciamento do Nginx

Uma vez instalado, você geralmente gerenciará o Nginx com systemctl:

Ação Comando
Iniciar o servidor sudo systemctl start nginx
Parar o servidor sudo systemctl stop nginx
Reiniciar (Parar e Iniciar) sudo systemctl restart nginx
Recarregar (Aplicar mudanças na configuração sem tempo de inatividade) sudo systemctl reload nginx
Verificar Status sudo systemctl status nginx
Desabilitar inicialização automática sudo systemctl disable nginx

Teste a sintaxe da configuração antes de cada recarregamento:

sudo nginx -t
sudo systemctl reload nginx

Esse hábito detecta ponto e vírgula faltando, caminhos de inclusão ruins e conflitos de listen duplicados antes que interrompam o tráfego.

Próximo Passo: Criar um Bloco de Servidor

A configuração padrão serve uma página de boas-vindas fornecida pelo pacote. No Debian/Ubuntu, os arquivos web geralmente ficam em /var/www/html. Em sistemas estilo RHEL, a raiz padrão costuma ser /usr/share/nginx/html.

Seu próximo passo é criar um bloco de servidor para seu domínio. Layouts do Debian/Ubuntu frequentemente usam /etc/nginx/sites-available/ com links simbólicos para /etc/nginx/sites-enabled/. Layouts estilo RHEL usam mais frequentemente arquivos em /etc/nginx/conf.d/.

Depois disso, adicione TLS, aponte o registro DNS do seu domínio para o servidor e execute sudo nginx -t antes de recarregar. Nesse ponto, sua instalação do Nginx estará pronta para a configuração real do site.