Iniciante Fundamentos

Estrutura do arquivo de configuração

Toda a configuração do Nginx vive em arquivos de texto. O principal é o nginx.conf, normalmente em /etc/nginx/nginx.conf.

Contextos

A configuração é organizada em blocos chamados contextos. Cada contexto tem um papel:

  • main: o nível mais externo, fora de qualquer bloco. Define coisas globais como user e worker_processes.
  • events: controla como as conexões são tratadas.
  • http: tudo relacionado a tráfego web.
  • server: define um site (host virtual).
  • location: define regras para caminhos de URL específicos.

Exemplo da hierarquia

# contexto main
user www-data;
worker_processes auto;

events {
    worker_connections 1024;
}

http {
    server {
        listen 80;
        server_name exemplo.com;

        location / {
            root /var/www/html;
        }
    }
}

Repare que os contextos ficam aninhados: location dentro de server, que está dentro de http.

Herança

Diretivas definidas em um contexto externo valem nos internos, a menos que sejam sobrescritas. Por exemplo, um root em server vale para todos os location, até que um location defina o seu próprio.

Resumo

O nginx.conf é organizado em contextos aninhados: main, events, http, server e location. Cada um cuida de uma parte da configuração e os valores são herdados de fora para dentro.