JanelasMacSoftwareConfiguraçõesSegurançaProdutividadeLinuxAndroidDesempenhoConfiguraçãoApple Tudo

Como configurar um servidor web com Nginx no Debian

Editado 3 Semanas atrás por ExtremeHow Equipe Editorial

DebianNginxServidor WebDesenvolvimento WebConfiguração do ServidorLinuxAdministração de SistemasCódigo AbertoInterface de Linha de ComandoTI

Como configurar um servidor web com Nginx no Debian

Tradução atualizada 3 Semanas atrás

Nginx é um software de servidor web amplamente utilizado, conhecido por seu alto desempenho, estabilidade, baixo consumo de recursos e configuração simples. Neste guia detalhado, veremos como configurar um servidor web com Nginx no sistema operacional Debian. Antes de prosseguirmos com as etapas, é essencial entender o que é o Nginx e por que ele é benéfico para a configuração de servidores web.

Compreendendo o Nginx

Nginx (pronunciado como "engine-x") é um software de código aberto para serviços web, proxy reverso, cache, balanceamento de carga, transmissão de mídia e muito mais. Ele começou como um projeto para resolver o problema C10k - lidar com dez mil conexões de uma só vez. Atualmente, o Nginx é popular por seu desempenho e eficiência no gerenciamento de cargas altas. Ele pode atuar como um servidor proxy reverso para protocolos HTTP, HTTPS, SMTP, POP3 e IMAP, como um balanceador de carga e como um cache HTTP, entre outros usos. Sendo de código aberto, é gratuito para uso e está constantemente sendo melhorado por colaboradores globais.

Pré-requisitos

Antes de começar, certifique-se de ter as seguintes coisas:

Uma vez que você atenda a esses pré-requisitos, pode prosseguir para instalar e configurar o Nginx no seu servidor Debian.

Passo 1: Atualize seu servidor

O primeiro passo é garantir que seu servidor esteja atualizado com os pacotes mais recentes. Um sistema atualizado reduz problemas de incompatibilidade e aumenta a segurança. Use o seguinte comando para atualizar seu servidor:

sudo apt update sudo apt upgrade

O comando apt update atualiza a lista de pacotes e suas versões disponíveis. O comando apt upgrade atualiza pacotes antigos com versões mais novas.

Passo 2: Instale o Nginx

O gerenciador de pacotes APT do Debian facilita a instalação de pacotes de software como o Nginx. Execute o seguinte comando para instalar o Nginx:

sudo apt install nginx

Este comando obterá e instalará o pacote Nginx e suas dependências. Após a conclusão da instalação, o Nginx começará a funcionar automaticamente.

Passo 3: Verifique a instalação do Nginx

Uma vez que o Nginx esteja instalado, é necessário verificar sua instalação e garantir que esteja funcionando corretamente. Use o seguinte comando para verificar o status do Nginx:

sudo systemctl status nginx

A saída esperada mostra que o Nginx está ativo e em execução. Se você quiser iniciar ou parar o serviço Nginx, pode usar:

sudo systemctl start nginx sudo systemctl stop nginx

Acessando o Nginx

Depois de confirmar que o Nginx está em execução, abra um navegador web e procure o endereço IP do seu servidor. Se você não souber o endereço IP do seu servidor, pode descobri-lo assim:

hostname -I

Quando você digitar o endereço IP do seu servidor na barra de endereço do navegador, deverá ver a página padrão de boas-vindas do Nginx. Isso verifica se o Nginx está renderizando páginas web corretamente.

Passo 4: Configurando o firewall

Nos sistemas Debian, o UFW (Firewall Descomplicado) é comumente usado como software de gerenciamento de firewall. Se o UFW estiver em execução no seu servidor, você deve permitir o tráfego HTTP para acessar publicamente seu servidor web através do firewall. Você pode verificar o status atual do UFW da seguinte forma:

sudo ufw status

Se o UFW estiver ativado, use este comando para permitir o tráfego HTTP do Nginx:

sudo ufw allow 'Nginx HTTP'

Verifique novamente a situação para garantir que as regras relevantes sejam aplicadas:

sudo ufw status

Passo 5: Gerenciar o serviço Nginx

O Nginx é executado como um serviço em segundo plano. Você pode gerenciar este serviço usando o comando systemctl. Aqui estão alguns comandos systemctl úteis para gerenciar o Nginx:

Passo 6: Compreendendo a configuração do Nginx

Os arquivos de configuração do Nginx estão normalmente localizados no diretório /etc/nginx. O arquivo de configuração principal é o /etc/nginx/nginx.conf, que contém instruções para gerenciar módulos, definir permissões de usuário e mais.

Frequentemente, a configuração do host virtual é gerenciada separadamente no diretório /etc/nginx/sites-available. Este diretório contém arquivos de configuração para domínios individuais, que são linkados simbolicamente para /etc/nginx/sites-enabled para serem ativados. Você também pode encontrar trechos de configuração em /etc/nginx/snippets para configurações reutilizáveis.

Passo 7: Configure o bloco de servidor

Blocos de servidor, o equivalente do Apache aos hosts virtuais, permitem que o Nginx execute vários sites em um único servidor. Primeiro, vá para /etc/nginx/sites-available/ e crie um novo arquivo de configuração:

sudo nano /etc/nginx/sites-available/example.com

No arquivo de configuração a seguir, substitua "example.com" pelo seu nome de domínio:

server { listen 80; server_name example.com www.example.com; location / { proxy_pass http://127.0.0.1:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }

Com esta configuração, as solicitações para 'example.com' serão encaminhadas para o aplicativo em execução em 127.0.0.1:8080. Use valores padrão sensatos ou ajuste a configuração com base em suas necessidades.

Passo 8: Ativar o bloco de servidor com link simbólico

Crie um link simbólico para o seu arquivo de configuração em site-enabled:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Esta ação ativa seu bloco de servidor. Teste a nova configuração para detectar possíveis erros:

sudo nginx -t

Se não houver erros, reinicie o Nginx para aplicar as mudanças:

sudo systemctl restart nginx

Passo 9: Configurar um site HTML simples

Você pode testar a configuração criando um arquivo HTML estático básico. Crie um novo diretório que atuará como seu diretório raiz da web:

sudo mkdir -p /var/www/example.com/html

Defina as permissões apropriadas:

sudo chown -R $USER:$USER /var/www/example.com/html

Crie um arquivo HTML simples:

nano /var/www/example.com/html/index.html

Adicione o seguinte conteúdo ao index.html:

<!DOCTYPE html> <html> <head> <title>Bem-vindo</title> </head> <body> <h1>Bem-vindo ao example.com!</h1> </body> </html>

Vá para http://your_server_ip ou http://example.com para visualizar sua página web.

Passo 10: Implementando segurança com SSL/TLS

Para proteger seu servidor web, é recomendável implementar um certificado SSL/TLS para o site. Certificados SSL gratuitos podem ser obtidos no Let's Encrypt, uma autoridade certificadora que oferece certificados gratuitos com suporte para automação.

Instale a utilidade Certbot e o plugin Nginx para recuperação e instalação de certificados SSL:

sudo apt install certbot python3-certbot-nginx

Em seguida, solicite um certificado usando o Certbot:

sudo certbot --nginx

O Certbot solicitará informações necessárias, como seu nome de domínio e email. Após a conclusão bem-sucedida, o Certbot recarrega automaticamente o Nginx. Visite https://example.com para confirmar a conexão HTTPS segura com o ícone de cadeado.

Renovação automática de certificado SSL

O Certbot configura um trabalho systemd para lidar automaticamente com renovações de certificados SSL. Você também pode realizar uma verificação de renovação manual:

sudo certbot renew --dry-run

Verifique a atualização e certifique-se de que seja bem-sucedida sem nenhum erro.

Considerações finais

Uma vez que o Nginx esteja configurado, você pode hospedar e servir vários sites. Lembre-se de monitorar o desempenho do servidor, gerenciar logs e manter o Nginx e os pacotes do servidor atualizados para manter a segurança e eficiência. O servidor web Nginx é uma ferramenta poderosa adequada para muitas tarefas web e necessidades de arquitetura.

Conclusão

Configurar um servidor web com Nginx no Debian envolve definir configuração, adicionar blocos de servidor e garantir a segurança com SSL. Compreender o básico da instalação, configuração e gerenciamento do Nginx estabelece as bases para aplicativos mais complexos e implantações de serviços. Você agora deve ter um servidor web em execução pronto para servir páginas ou aplicativos com alta eficiência.

Se você encontrar algo errado com o conteúdo do artigo, você pode


Comentários