Meu arquivo de configuração padrão do nginx está ficando enorme. Eu gostaria de dividi-lo em arquivos de configuração menores, cada um incluindo apenas um, no máximo 4 locais para cada arquivo, para que eu possa ativá-los/desabilitá-los rapidamente.
O arquivo real se parece com isto:
server {
listen 80 default_server;
root /var/www/
location /1 {
config info...;
}
location /2 {
config info....;
}
location /abc {
proxy_pass...;
}
location /xyz {
fastcgi_pass....;
}
location /5678ab {
config info...;
}
location /admin {
config info....;
}
agora, se eu quiser dividir isso para ter apenas alguns locais em cada arquivo (locais pertencentes um ao outro), qual seria a maneira adequada de fazer isso sem causar caos (como declarar root em cada arquivo, portanto, ter caminhos estranhos que nginx tenta encontrar arquivos) ?
Você provavelmente está procurando a
include
função do Nginx: http://nginx.org/en/docs/ngx_core_module.html#includeVocê pode usar assim:
include também aceita curingas, então você também pode escrever
para incluir todos os arquivos *.conf no diretório include .
Você pode criar pastas de site com
# E, em seguida, divida seu
your_config.conf
arquivo grande em arquivos menoressites-available/
com:(Eu melhorei isso desta fonte: https://stackoverflow.com/a/9635153/1069083 )
Certifique-se de adicionar isso no final dentro do
http
bloco do seu/etc/nginx/conf.d/*.conf;
:Observação: os comentários fora dos
server
blocos são cortados na parte inferior de cada arquivo, portanto, não deve haver comentários ANTES de umserver
bloco. Em vez disso, mova os comentários na primeira linha DENTRO do bloco, exemplo: