Onde o nginx espera encontrar seus módulos?

1

Onde o nginx espera encontrar os arquivos binários para seus módulos? Por exemplo, por convenção, onde devo instalar o módulo nginx_ajp_module ?

    
por Derek Mahar 02.11.2016 / 21:53

2 respostas

4

O caminho do módulo irá variar dependendo da distribuição do Linux que você está usando. Algumas distros (por exemplo, baseadas no Debian) podem colocá-lo em lugares estranhos.

Para encontrar o caminho do módulo em seu sistema, execute nginx -V e procure o --modules-path na saída. Por exemplo:

nginx version: nginx/1.10.1
built by gcc 6.1.1 20160510 (Red Hat 6.1.1-2) (GCC) 
built with OpenSSL 1.0.2h-fips  3 May 2016 (running with OpenSSL 1.0.2j-fips  26 Sep 2016)
TLS SNI support enabled
configure arguments: --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules ...

Você também deve estar ciente de que o carregamento de módulo dinâmico foi introduzido apenas no ciclo de desenvolvimento 1.10. Módulos anteriores a isso foram projetados para serem compilados diretamente no nginx e precisariam ser atualizados para carregamento dinâmico. O módulo que você vinculou é um desses. Entre em contato com o desenvolvedor para obter mais informações.

    
por 03.11.2016 / 15:52
4

nginx -V só revelará o sinal --modules-path config se o nginx foi configurado com um argumento --modules-path explícito. (Por exemplo, se você executasse ./configure --modules-path=/path/to/modules ao compilar o nginx, veria --modules-path=/path/to/modules na saída de nginx -V .) O local padrão, se nenhum caminho tiver sido especificado em tempo de compilação, é $NGX_PREFIX/modules . No meu sistema macOS, $NGX_PREFIX é padronizado para /usr/local/nginx , então o caminho dos módulos padrão é /usr/local/nginx/modules ; enquanto o Ubuntu 17.10 quebra um pouco o monolito prefixado e espera módulos em /usr/lib/nginx/modules .

Como acontece com muitas coisas * nix-adjacentes, a configuração é privilegiada sobre a convenção aqui. Você pode descobrir que sua melhor aposta é compilar o nginx por conta própria, especificando os --prefix= e / ouou --modules-path= sinalizadores ao executar ./configure . Há alguns documentos bons nesse processo aqui e aqui .

    
por 01.06.2018 / 15:02

Tags