Iniciante Fundamentos

Hosts virtuais

Um mesmo servidor Nginx pode hospedar vários sites ao mesmo tempo. Cada site é um bloco server separado, conhecido como host virtual.

Vários blocos server

Você pode ter vários blocos, cada um com seu domínio:

server {
    listen 80;
    server_name site-a.com;
    root /var/www/site-a;
}

server {
    listen 80;
    server_name site-b.com;
    root /var/www/site-b;
}

O Nginx escolhe o bloco certo comparando o domínio da requisição.

Organização em arquivos

Em sistemas Debian e Ubuntu, é comum separar cada site em um arquivo dentro de /etc/nginx/sites-available/. Os sites ativos viram links em /etc/nginx/sites-enabled/.

sudo nano /etc/nginx/sites-available/site-a.com

Ativando um site

Crie um link simbólico para ativar:

sudo ln -s /etc/nginx/sites-available/site-a.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Para desativar, basta remover o link de sites-enabled e recarregar.

Resumo

Cada site é um bloco server com seu próprio server_name. Organize-os em sites-available e ative com links em sites-enabled. Sempre teste e recarregue após mudanças.