Configuração de múltiplos sites no NGINX com Server Blocks
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.ptb.ipg.ptc.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 -yPasso 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/htmlDê 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/wwwPasso 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.htmlPasso 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.ptserver {
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.ptserver {
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.ptserver {
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 -tSe não houver erros, reinicie o NGINX:
sudo systemctl restart nginxPasso 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/hostsAdicione a seguinte linha:
127.0.0.1 a.ipg.pt b.ipg.pt c.ipg.ptSalve 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.
