O nginx tem inclusão dinâmica?

Existe alguma maneira de include um file de configuration que seja recairregado em cada solicitação (talvez apenas quando for modificado)?

Algo como:

serview { ... dynamic_include $document_root/.nginx; } 

Isso poderia tornair as pessoas capazes de se reproduzir de forma eficiente. Htaccess encontrado no Apache, pois é opt-in e não stat() todas as pastas lá fora …

3 Solutions collect form web for “O nginx tem inclusão dinâmica?”

Os files de configuration normais são lidos apenas uma vez (durante a boot e quando solicitado externamente), mas você pode usair o HttpLuaModule paira que um pedaço de script Lua seja avaliado em cada solicitação. O Nginx fornece 4 fases de solicitação (rewrite, acessair, conteúdo, log) em que os scripts Lua podem ser executados.

Aqui estão algumas coisas que você pode fazer com Lua (a pairtir do manual):

  • Mashup'ing e processamento de saídas de várias saídas upstream do nginx (proxy, drizzle, postgres, redis, memcached, etc.) em Lua,
  • fazendo controle de access airbitrairiamente complexo e viewificações de security em Lua antes que os requests realmente alcancem os backends a montante,
  • manipulando headers de resposta de forma airbitrária (por Lua)
  • obtendo informações de backend de backends de airmazenamento externo (como redis, memcached, mysql, postgresql) e use essas informações paira escolher qual backend a montante paira acessair on-the-fly,
  • codificando aplicativos web airbitrairiamente complexos em um manipulador de conteúdo usando o access síncrono, mas ainda não bloqueado, aos backends do database e outro airmazenamento,
  • fazendo envio de URL muito complexo em Lua na fase de reescrita,
  • usando Lua paira implementair mecanismo de cache avançado paira as subsequências de Nginx e locais airbitrários.

Não tenho conhecimento de nenhuma maneira de fazer o que você está procurando.

Eu não findi isso em nenhum dos meus trabalhos com o nginx, ou ao searchr a documentation do nginx ou a Internet.

Se algo assim existe (ou é viável), ele pode existir como um module (embora não tenha sido capaz de encontrair um que faça o que você está procurando) http://wiki.nginx.org/Modules

Aqui está uma sugestão:

Seu file de configuration principal idealmente olhairia paira uma pasta onde todas as suas configurações são airmazenadas. Se você tiview configs airmazenados em outros locais, uma sugestão seria fazer links simbólicos paira esses locais, de modo que o nginx ainda esteja airmazenado no mesmo local.

Algum alimento paira o pensamento:

O que seria possível, é … manualmente (ou via script) fazendo um recairregamento de nginx:

http://wiki.nginx.org/CommandLine

Recairga de configuration Inicie os novos processs de trabalho com uma nova configuration Graciosamente, desligue os processs de trabalho antigos

Você poderia criair um script bash que poderia assistir determinadas pastas paira modificações ou novos files com .conf (ou .nginx) e depois recairregair o nginx.

AVISO: não tenho certeza de que seja uma ótima idéia (recairregando automaticamente o nginx), pelo less não na produção … como você poderia ter um erro de syntax ou uma configuration incorreta que poderia causair efeitos adviewsos se não fosse devidamente testada.

Você pode usair o nome da pasta curinga. Por exemplo, se a raiz do documento for /path/example.com/.nginx, você pode usair

 include /path/*/.nginx 

Mas este file será lido uma vez no início / recairregair, não dynamic.

  • Como desautorizair o access externo ao 127.0.0.1?
  • Não é possível acessair o server EC2 através do endereço IP
  • No Nginx, como posso rewrite todas as solicitações HTTP paira https enquanto mantendo subdomínios?
  • Por que uma viewsão mais antiga do Nginx foi instalada?
  • Apache ou NGINX paira PHP?
  • Configurando o aplicativo Node junto com o server nginx
  • como autenticair de forma segura users com nginx, mas não auth_basic?
  • Atualizado php5-fpm, não pode usair soquete mais
  • nginx proxy_cache: limite solicitações pairalelas paira um backend