Iniciante Fundamentos
Servindo arquivos com root e index
Para servir um site simples de arquivos estáticos, você precisa de duas diretivas: root e index.
A diretiva root
A root define a pasta onde ficam os arquivos do site:
server {
listen 80;
server_name exemplo.com;
root /var/www/exemplo;
}
Quando alguém pede /sobre.html, o Nginx procura por /var/www/exemplo/sobre.html.
A diretiva index
A index define qual arquivo entregar quando a URL aponta para uma pasta:
server {
root /var/www/exemplo;
index index.html index.htm;
}
Se o visitante acessar /, o Nginx tenta index.html; se não existir, tenta index.htm.
Juntando tudo
Um site estático completo costuma ser assim:
server {
listen 80;
server_name exemplo.com;
root /var/www/exemplo;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
O try_files tenta o arquivo, depois a pasta e, se nada existir, retorna 404.
Resumo
root aponta a pasta dos arquivos e index define o arquivo padrão de cada diretório. Com try_files você trata caminhos inexistentes com elegância.