- 1 1. Introdução
- 2 2. Como instalar o Nginx no Ubuntu
- 3 3. Configuração básica do Nginx no Ubuntu
- 4 4. Gerenciando e controlando o Nginx
- 5 5. Configurando o Firewall do Nginx e Melhorando a Segurança
- 6 6. Ajuste de Desempenho do Nginx e Solução de Problemas
- 7 7. Resumo e Próximos Passos
1. Introdução
Muitas pessoas querem usar o Nginx no Ubuntu, mas se você é novo nele, pode não saber por onde começar. Este artigo fornece um guia passo a passo para iniciantes, cobrindo tudo, desde a instalação e configuração até a administração em um ambiente Ubuntu.
O que é Nginx?
Nginx (pronuncia‑se “engine‑x”) é um servidor HTTP de alto desempenho e servidor proxy reverso. É amplamente usado em todo o mundo por seu design leve e flexibilidade, especialmente por sua capacidade de lidar com grandes volumes de tráfego.
Benefícios de usar Nginx no Ubuntu
Ubuntu é uma distribuição Linux popular que funciona bem com Nginx. Com seu sistema de gerenciamento de pacotes (APT), instalar e atualizar o Nginx é fácil, e ele oferece excelente estabilidade e segurança.
Ao ler este artigo, você aprenderá:
- Como instalar o Nginx no Ubuntu
- Procedimentos básicos de configuração e gerenciamento
- Otimização de desempenho e solução de problemas
Agora, vamos começar.
2. Como instalar o Nginx no Ubuntu
Para executar o Nginx no Ubuntu, você primeiro precisa instalá‑lo corretamente. Esta seção fornece um guia claro, passo a passo, do processo de instalação.
Verificando os pacotes necessários
Antes de iniciar a instalação, certifique‑se de que seu sistema está atualizado executando os seguintes comandos:
sudo apt update
sudo apt upgrade
Instalando o Nginx
Para instalar o Nginx, digite o seguinte comando:
sudo apt install nginx
Este comando baixa e instala automaticamente o Nginx a partir do repositório APT do Ubuntu.
Verificando a instalação
Para conferir se a instalação foi bem‑sucedida, use o seguinte comando para verificar o status do Nginx:
sudo systemctl status nginx
Se a saída mostrar “active (running)”, a instalação foi concluída com sucesso.
Configurando o firewall
O Ubuntu inclui o UFW (Uncomplicated Firewall), que pode ser usado para permitir o tráfego do Nginx.
sudo ufw allow 'Nginx Full'
sudo ufw enable
Agora, o Nginx está configurado para operar nas portas 80 (HTTP) e 443 (HTTPS).

3. Configuração básica do Nginx no Ubuntu
Instalar o Nginx simplesmente não é suficiente. Em seguida, você precisa configurá‑lo adequadamente para uso eficaz.
Arquivos de configuração e estrutura básica
Os principais arquivos de configuração do Nginx estão localizados em:
- Arquivo de configuração principal:
/etc/nginx/nginx.conf - Arquivos de configuração específicos de sites: dentro do diretório
/etc/nginx/sites-available/
Normalmente, você cria um arquivo de configuração de host virtual em sites-available e cria um link simbólico para sites-enabled para ativá‑lo.
Configurando um host virtual
Hosts virtuais permitem gerenciar múltiplos domínios ou projetos em um único servidor. O exemplo a seguir configura example.com:
sudo nano /etc/nginx/sites-available/example.com
Insira o seguinte conteúdo:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
Salve o arquivo e ative a configuração com os seguintes comandos:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Configurando SSL/TLS
Para habilitar comunicação segura, configure um certificado SSL/TLS. Você pode usar o Let’s Encrypt para obter um certificado gratuito.
Primeiro, instale o certbot:
sudo apt install certbot python3-certbot-nginx
Em seguida, execute o comando abaixo para obter e configurar automaticamente o certificado SSL:
sudo certbot --nginx -d example.com -d www.example.com
Para evitar a expiração, configure também a renovação automática do certificado.
4. Gerenciando e controlando o Nginx
Depois de instalar e configurar o Nginx, você precisa aprender a iniciar, parar, recarregar configurações e solucionar problemas. Esta seção cobre os comandos essenciais de gerenciamento e técnicas de solução de problemas.
Comandos básicos do Nginx
No Ubuntu, você pode gerenciar o Nginx usando o comando systemctl. Aqui estão as principais operações:
- Iniciar Nginx
sudo systemctl start nginx
- Parar Nginx
sudo systemctl stop nginx
- Reiniciar Nginx Necessário ao fazer alterações de configuração importantes.
sudo systemctl restart nginx
- Recarregar Nginx Aplicar alterações de configuração sem reiniciar.
sudo systemctl reload nginx
- Verificar o Status do Nginx Verificar se o Nginx está funcionando corretamente.
sudo systemctl status nginx
Habilitando Inicialização Automática
Para garantir que o Nginx inicie automaticamente após a reinicialização do sistema:
- Habilitar inicialização automática
sudo systemctl enable nginx
- Desabilitar inicialização automática (se necessário)
sudo systemctl disable nginx
Verificando Logs para Solução de Problemas
Se o Nginx não estiver funcionando como esperado, verifique os logs para encontrar a causa.
- Ver Logs de Erro
sudo tail -f /var/log/nginx/error.log
- Ver Logs de Acesso
sudo tail -f /var/log/nginx/access.log
5. Configurando o Firewall do Nginx e Melhorando a Segurança
A segurança é crucial ao operar o Nginx. Esta seção explica como configurar portas usando o firewall do Ubuntu (UFW) e reforçar a segurança do Nginx.
Abrindo Portas Usando o UFW
UFW (Uncomplicated Firewall) é uma ferramenta de firewall incluída no Ubuntu por padrão. Para garantir que o Nginx funcione corretamente, você precisa abrir as portas 80 (HTTP) e 443 (HTTPS).
- Verificar o status atual do UFW
sudo ufw status
- Permitir tráfego do Nginx Execute o comando a seguir para abrir as portas necessárias:
sudo ufw allow 'Nginx Full'
- Habilitar UFW Se o firewall estiver desativado, habilite-o:
sudo ufw enable
Melhoras de Segurança Adicionais
- Desativar Métodos HTTP Desnecessários Para melhorar a segurança, desative métodos HTTP desnecessários adicionando o seguinte ao arquivo de configuração do Nginx:
if ($request_method !~ ^(GET|POST|HEAD)$) {
return 444;
}
- Desativar Listagem de Diretórios Impedir que o conteúdo dos diretórios seja publicamente acessível adicionando:
autoindex off;
- Fortalecer SSL/TLS Use configurações de criptografia fortes em sua configuração SSL:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers HIGH:!aNULL:!MD5;
6. Ajuste de Desempenho do Nginx e Solução de Problemas
O Nginx é amplamente conhecido por seu alto desempenho, mas um ajuste adequado pode melhorar ainda mais sua eficiência. Esta seção cobre técnicas de otimização e soluções comuns de solução de problemas.
Ajuste de Desempenho
1. Configurando Processos de Trabalho
O Nginx segue uma arquitetura multiprocessos. Definir um número adequado de processos de trabalho otimiza o desempenho.
Edite o arquivo de configuração /etc/nginx/nginx.conf e defina:
worker_processes auto;
A configuração “auto” ajusta automaticamente o número de processos de trabalho com base nos núcleos da CPU.
2. Aumentar Conexões de Trabalho
Por padrão, cada processo de trabalho tem um número limitado de conexões. Aumentar esse valor melhora o tratamento de cargas de tráfego altas.
Adicione ou modifique a seguinte linha no arquivo de configuração:
worker_connections 1024;
3. Habilitar HTTP/2
Habilitar HTTP/2 melhora a eficiência da comunicação e acelera o carregamento do site.
Modifique o arquivo /etc/nginx/sites-available/example.com e altere a diretiva listen da seguinte forma:
listen 443 ssl http2;
Então recarregue o Nginx:
sudo systemctl reload nginx
4. Habilitar Compressão de Conteúdo
Comprimir arquivos antes de enviá-los reduz o uso de largura de banda e melhora os tempos de carregamento.
Adicione ou habilite as seguintes configurações:
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
5. Configurar Cache
Configurar cache reduz solicitações repetidas para recursos estáticos.
Adicione a seguinte configuração:
location ~* .(jpg|jpeg|png|gif|ico|css|js|woff|woff2|ttf|svg)$ {
expires 30d;
access_log off;
}
Solução de Problemas Comuns
1. Manipulação Lenta de Requisições Sob Alta Carga
- Causa: Processos de trabalho insuficientes ou limites de conexão.
- Solução: Ajuste os processos de trabalho e conexões, ou considere usar um balanceador de carga.
2. Erro “403 Forbidden”
- Causa: Diretiva
rootincorreta no arquivo de configuração ou permissões de arquivo incorretas. - Solução: Verifique a diretiva
roote atualize as permissões de arquivo:
sudo chmod -R 755 /var/www/example.com/html
sudo chown -R www-data:www-data /var/www/example.com/html
3. Problemas de Timeout do Servidor
- Causa: Tempo de processamento de solicitação longo.
- Solução: Ajuste as configurações de timeout:
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_send_timeout 300;
4. Erros de Reinicialização do Nginx
- Causa: Erros no arquivo de configuração.
- Solução: Teste a configuração antes de reiniciar:
sudo nginx -t
7. Resumo e Próximos Passos
Nesta guia, cobrimos como instalar, configurar e gerenciar o Nginx no Ubuntu. Vamos revisar o que aprendemos e explorar os próximos passos.
Resumo dos Pontos Principais
1. Instalando o Nginx no Ubuntu
- Preparou os pacotes necessários e instalou o Nginx usando APT.
- Configurou o firewall para permitir o tráfego do Nginx.
2. Configuração Básica
- Entendeu a estrutura do arquivo de configuração do Nginx e configurou hosts virtuais e SSL/TLS.
3. Gerenciando o Nginx
- Aprendeu comandos essenciais para iniciar, parar e recarregar o Nginx.
- Verificou logs para solução de problemas.
4. Melhorias de Segurança
- Configurou o UFW e aplicou configurações de segurança adicionais.
5. Otimização de Desempenho e Solução de Problemas
- Otimizou processos de trabalho, habilitou HTTP/2 e configurou cache.
- Abordou problemas comuns do Nginx.
Próximos Passos
Agora que você tem os fundamentos do Nginx no Ubuntu, considere estes próximos passos:
- Aprenda configurações avançadas como balanceamento de carga e proxy reverso.
- Melhore a segurança com WAF e módulos de segurança adicionais do Nginx.
- Automatize implantações usando Ansible ou Docker.
- Monitore o desempenho com ferramentas como Prometheus e Grafana.
Ao aplicar esses conceitos, você pode executar e gerenciar efetivamente um servidor web de alto desempenho com o Nginx no Ubuntu.


![[Edição Mais Recente 2024] Guia Completo do Sistema de Suporte do Ubuntu 24.04 LTS](https://www.linux.digibeatrix.com/wp-content/uploads/2024/11/f222ace1471e9ae589987b3313177f9e-375x375.webp)
