Sitemap

Configuração de múltiplos sites no NGINX com Server Blocks

2 min readApr 2, 2025
Press enter or click to view image in full size

O NGINX é um servidor web de alto desempenho que também pode atuar como proxy reverso e balanceador de carga. Um dos seus recursos mais úteis é a possibilidade de hospedar múltiplos sites num único servidor usando Server Blocks (Virtual Hosts).

Neste tutorial, vamos configurar três sites no mesmo servidor NGINX:

  • a.ipg.pt
  • b.ipg.pt
  • c.ipg.pt

Passo 1: Instalar o NGINX

Se o NGINX ainda não estiver instalado, instale-o com o seguinte comando:

sudo apt update && sudo apt install nginx -y

Passo 2: Criar os Diretórios dos Sites

Crie os diretórios onde os ficheiros de cada site ficarão armazenados:

sudo mkdir -p /var/www/a.ipg.pt/html
sudo mkdir -p /var/www/b.ipg.pt/html
sudo mkdir -p /var/www/c.ipg.pt/html

Dê permissões adequadas:

sudo chown -R $USER:$USER /var/www/a.ipg.pt/html
sudo chown -R $USER:$USER /var/www/b.ipg.pt/html
sudo chown -R $USER:$USER /var/www/c.ipg.pt/html
sudo chmod -R 755 /var/www

Passo 3: Criar Páginas de Teste para Cada Site

Crie um ficheiroindex.html para cada site:

echo "<h1>IPG A</h1>" | sudo tee /var/www/a.ipg.pt/html/index.html
echo "<h1>IPG B</h1>" | sudo tee /var/www/b.ipg.pt/html/index.html
echo "<h1>IPG C</h1>" | sudo tee /var/www/c.ipg.pt/html/index.html

Passo 4: Criar os Ficheiros de Configuração do NGINX

Crie os ficheiros de configuração para cada site em /etc/nginx/sites-available/

Configuração do site a.ipg.pt

sudo nano /etc/nginx/sites-available/a.ipg.pt
server {
listen 80;
server_name a.ipg.pt;
root /var/www/a.ipg.pt/html;
index index.html;
}

Configuração do site b.ipg.pt

sudo nano /etc/nginx/sites-available/b.ipg.pt
server {
listen 80;
server_name b.ipg.pt;
root /var/www/b.ipg.pt/html;
index index.html;
}

Configuração do site c.ipg.pt

sudo nano /etc/nginx/sites-available/c.ipg.pt
server {
listen 80;
server_name c.ipg.pt;
root /var/www/c.ipg.pt/html;
index index.html;
}

Passo 5: Criar Links Simbólicos para Ativar os Sites

Crie links “simbólicos” para ativar os sites:

sudo ln -s /etc/nginx/sites-available/a.ipg.pt /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/b.ipg.pt /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/c.ipg.pt /etc/nginx/sites-enabled/

Passo 6: Testar a Configuração do NGINX

Antes de reiniciar o NGINX, verifique se a configuração está correta:

sudo nginx -t

Se não houver erros, reinicie o NGINX:

sudo systemctl restart nginx

Passo 7: Configurar o ficheiro Hosts (apenas para testes locais)

Se os domínios a.ipg.pt, b.ipg.pt e c.ipg.pt não estiverem configurados no DNS, pode adicioná-los manualmente ao seu ficheirohosts :

sudo nano /etc/hosts

Adicione a seguinte linha:

127.0.0.1 a.ipg.pt b.ipg.pt c.ipg.pt

Salve o ficheiro e saia do mesmo (Ctrl + X, Y, Enter).

Agora, pode acessar os sites no navegador:

Conclusão

Neste momento, tem três sites configurados num único servidor NGINX, utilizando Server Blocks.

Se precisar de adicionar mais sites, basta repetir os passos acima.

Para tornar os sites mais seguros, opte por configurar HTTPS.

--

--

Afonso Antunes
Afonso Antunes

Written by Afonso Antunes

Degree in Computer Engineering, Master in Cybersecurity

No responses yet