Iniciante Fundamentos

O bloco server

O bloco server define um site no Nginx. Em outros servidores isso é chamado de host virtual. Cada site tem o seu bloco.

Estrutura básica

Um bloco server fica dentro do contexto http:

http {
    server {
        listen 80;
        server_name exemplo.com;
        root /var/www/exemplo;
    }
}

listen

A diretiva listen define em qual porta (e opcionalmente IP) o servidor escuta:

listen 80;
listen 443 ssl;

server_name

A diretiva server_name diz a qual domínio aquele bloco responde:

server_name exemplo.com www.exemplo.com;

Você pode listar vários domínios e usar curingas:

server_name *.exemplo.com;

Como o Nginx escolhe o server

Quando uma requisição chega, o Nginx olha a porta e o cabeçalho Host enviado pelo navegador. Ele compara com os server_name e escolhe o bloco que combina.

Resumo

O bloco server representa um site. Use listen para a porta e server_name para o domínio. O Nginx combina porta e host para escolher qual bloco atende cada requisição.