Como Configurar Hosts Virtuais no NGINX: Guia Prático

Quer aprender a configurar hosts virtuais no NGINX? Então, este guia prático é exatamente o que precisa! Os hosts virtuais permitem gerir vários websites num único servidor NGINX, uma funcionalidade poderosa para quem quer hospedar diferentes projetos ou domínios sem complicações. Assim, neste tutorial, vamos mostrar-lhe tudo passo a passo: desde o que são hosts virtuais, os preparativos necessários, até à configuração e teste final. O NGINX, conhecido pela sua eficiência e simplicidade, torna este processo acessível mesmo para iniciantes. Além disso, se já instalou o NGINX e explorou configurações básicas, este é o próximo passo lógico para expandir as suas capacidades. Porquê usar hosts virtuais? Porque poupam recursos, organizam os seus sites e preparam o terreno para projetos mais complexos. Portanto, prepare-se para mergulhar neste guia e descubra como configurar hosts virtuais no NGINX de forma clara e prática. Vamos começar?


O que São Hosts Virtuais no NGINX e Porquê Usá-los?

Antes de mais, o que são hosts virtuais no NGINX? Em termos simples, são configurações que permitem ao NGINX servir múltiplos websites a partir do mesmo servidor, diferenciando-os por nomes de domínio ou endereços IP. Por exemplo, pode ter site1.com e site2.com a correr na mesma máquina, cada um com os seus próprios ficheiros e regras. No NGINX, isso é feito através de blocos server {} na configuração, uma abordagem chamada “virtual hosting”.

Então, porquê configurar hosts virtuais no NGINX? Primeiro, é uma questão de eficiência. Em vez de usar vários servidores físicos ou instâncias separadas, pode centralizar tudo numa única instalação NGINX, poupando recursos como memória e CPU. Segundo, é ideal para testes ou pequenos projetos. Imagine um programador que quer testar vários sites localmente ou um administrador gerindo múltiplos domínios num servidor de baixo custo – os hosts virtuais são perfeitos para isso.

Além disso, o NGINX foi desenhado para este tipo de tarefa. Desde o seu lançamento em 2004, destaca-se pela capacidade de gerir tráfego elevado com configurações flexíveis, como vimos em Como entender e editar os ficheiros de configuração do NGINX. Por fim, é uma habilidade útil para crescer: depois de dominar hosts virtuais, estará pronto para setups mais avançados. Assim, configurar hosts virtuais no NGINX é um passo essencial para quem quer aproveitar ao máximo este servidor web.


Pré-requisitos para Configurar Hosts Virtuais no NGINX

Antes de configurar hosts virtuais no NGINX, precisa de preparar o terreno. Felizmente, os pré-requisitos são simples, mas cada um é crucial. Vamos detalhar tudo:

NGINX Instalado

Primeiramente, o NGINX deve estar instalado e a funcionar. Se ainda não o fez, consulte os nossos guias: Como instalar NGINX no Ubuntu, Como instalar NGINX no Windows ou Como instalar NGINX no macOS. Certifique-se de que consegue iniciá-lo (ex.: sudo systemctl start nginx).

Ficheiros dos Websites

Em seguida, precisa de pelo menos dois conjuntos de ficheiros estáticos para simular websites diferentes. Por exemplo, crie:

  • /var/www/site1/index.html com <h1>Site 1</h1>.
  • /var/www/site2/index.html com <h1>Site 2</h1>.

Estes serão os seus sites de teste.

Domínios Locais ou Reais

Além disso, deve decidir os nomes dos hosts virtuais. Para testes locais, use domínios fictícios como site1.local e site2.local, que adicionará ao ficheiro hosts. Se tiver domínios reais, já registados e apontados ao servidor, também servem.

Permissões Adequadas

No Linux ou macOS, ajuste as permissões para o NGINX aceder às pastas:

sudo chown -R www-data:www-data /var/www/site1
sudo chmod -R 755 /var/www/site1

Repita para site2. No Windows, apenas garanta acesso à pasta.

Editor de Texto

Por fim, tenha um editor pronto (ex.: Nano, Vim ou VS Code) para alterar configurações – veja Como entender e editar os ficheiros de configuração do NGINX se precisar de ajuda.

Portanto, com o NGINX ativo e os ficheiros prontos, está preparado para avançar.


Passo a Passo: Como Configurar Hosts Virtuais no NGINX

Agora, vamos configurar hosts virtuais no NGINX. Este processo é direto, mas requer atenção. Aqui está o guia passo a passo:

Passo 1: Criar Diretórios para os Sites

Primeiro, crie pastas separadas para cada site. No Ubuntu ou macOS:

sudo mkdir -p /var/www/site1
sudo mkdir -p /var/www/site2

Adicione um ficheiro index.html em cada uma, como sugerido nos pré-requisitos. No Windows, crie manualmente em C:\nginx\html\site1 e C:\nginx\html\site2.

Passo 2: Configurar os Hosts Virtuais

Depois, ajuste os ficheiros de configuração. No Ubuntu, crie dois ficheiros em /etc/nginx/sites-available/:

sudo nano /etc/nginx/sites-available/site1.conf

Adicione:

server {
    listen 80;
    server_name site1.local;
    root /var/www/site1;
    index index.html;
    location / {
        try_files $uri $uri/ /index.html;
    }
}

Repita para o segundo site:

sudo nano /etc/nginx/sites-available/site2.conf

Adicione:

server {
    listen 80;
    server_name site2.local;
    root /var/www/site2;
    index index.html;
    location / {
        try_files $uri $uri/ /index.html;
    }
}

No Windows, edite C:\nginx\conf\nginx.conf e adicione os dois blocos server {} dentro de http {}.

Passo 3: Ativar os Hosts Virtuais

No Ubuntu, ative os ficheiros:

sudo ln -s /etc/nginx/sites-available/site1.conf /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/site2.conf /etc/nginx/sites-enabled/

No Windows, pule esta etapa, pois a edição é direta.

Passo 4: Editar o Ficheiro Hosts

Para testes locais, adicione os domínios ao ficheiro hosts:

  • Ubuntu/macOS: sudo nano /etc/hosts
  • Windows: C:\Windows\System32\drivers\etc\hosts

Adicione:

127.0.0.1 site1.local
127.0.0.1 site2.local

Passo 5: Testar e Recarregar

Teste a configuração:

sudo nginx -t

Se estiver correta, recarregue:

sudo nginx -s reload

Assim, configurou com sucesso hosts virtuais NGINX. Vamos testar!


Testar e Verificar os Hosts Virtuais no NGINX

Com os hosts virtuais configurados, é hora de verificar se funcionam. Afinal, configurar hosts virtuais no NGINX só vale a pena se os sites aparecerem corretamente.

Aceder aos Sites no Navegador

Primeiro, abra o seu navegador. Digite http://site1.local numa aba e http://site2.local noutra. Deverá ver “Site 1” e “Site 2”, respetivamente. Se usar um IP real ou domínios registados, substitua por esses endereços.

Confirmar o Estado do NGINX

Depois, verifique se o NGINX está ativo:

  • Ubuntu/macOS: sudo systemctl status nginx
  • Windows: Veja nginx.exe no Gestor de Tarefas.

Resolver Erros Comuns

Se aparecer “403 Forbidden”, confirme as permissões:

ls -l /var/www/site1

Ajuste com chmod 755 ou chown www-data. Se for “502 Bad Gateway”, o NGINX pode estar mal configurado – recorra a nginx -t. Para “nome não resolvido”, verifique o ficheiro hosts.

Testar Múltiplos Ficheiros

Adicione um sobre.html em cada pasta e aceda (ex.: http://site1.local/sobre.html). O NGINX deve servi-los sem problemas.

Usar IP Direto

Se preferir, teste com http://127.0.0.1, mas só verá o primeiro site a menos que use server_name corretamente.

Portanto, os seus NGINX múltiplos sites estão ativos. Pode agora servir sites estáticos – veja Como servir websites estáticos com NGINX.


Dicas Avançadas para Hosts Virtuais no NGINX

Com os hosts virtuais a funcionar, aqui estão algumas dicas para melhorar:

Ativar HTTPS

Adicione SSL para segurança – veja Como configurar SSL/TLS no NGINX. Um exemplo básico:

server {
    listen 443 ssl;
    server_name site1.local;
    ssl_certificate /etc/ssl/site1.crt;
    ssl_certificate_key /etc/ssl/site1.key;
}

Redirecionar HTTP para HTTPS

Force o uso de HTTPS:

server {
    listen 80;
    server_name site1.local;
    return 301 https://$server_name$request_uri;
}

Separar Registos

Use ficheiros de registo distintos:

access_log /var/log/nginx/site1_access.log;
error_log /var/log/nginx/site1_error.log;

Limitar Acesso

Restrinja IPs se necessário:

location /admin {
    allow 192.168.1.1;
    deny all;
}

Otimização

Para desempenho, explore Como otimizar o desempenho do NGINX.

Assim, gerir sites NGINX fica mais seguro e eficiente.


Perguntas Frequentes Sobre Configurar Hosts Virtuais no NGINX

Aqui estão respostas a dúvidas comuns sobre configurar hosts virtuais no NGINX:

Quantos hosts virtuais posso ter?

Não há limite fixo – depende dos recursos do servidor.

Porquê “nome não resolvido” no navegador?

Verifique o ficheiro hosts ou DNS.

Posso usar um só IP?

Sim, o NGINX diferencia por server_name.

E se um site não carregar?

Teste com nginx -t e veja os registos em /var/log/nginx/. Consulte Como resolver problemas comuns do NGINX.

Funciona com sites dinâmicos?

Sim, mas exige integração (ex.: PHP) – veja Como integrar NGINX com PHP usando FastCGI.

Portanto, este tutorial hosts virtuais cobre tudo o que precisa.


Conclusão

Configurar hosts virtuais no NGINX é uma habilidade valiosa e mais simples do que parece. Neste guia, aprendemos o que são, como configurá-los e como testá-los, tudo com passos práticos para iniciantes. Agora, pode gerir múltiplos sites num único servidor com facilidade, seja para testes locais ou produção real. Além disso, as dicas avançadas e os links para outros tutoriais, como Como otimizar o desempenho do NGINX ou Como resolver problemas comuns do NGINX, abrem portas para personalizações futuras. Continue a explorar, ajuste os hosts virtuais às suas necessidades e transforme o NGINX numa ferramenta poderosa para os seus projetos!

Pode fazer uma doação para ajudar a mater o site, Obrigado!