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
?
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
?
O caminho do módulo irá variar dependendo da distribuição do Linux que você está usando. Algumas distribuições (por exemplo, baseadas no Debian) podem colocá-lo em lugares estranhos.
Para localizar o caminho do módulo em seu sistema, execute
nginx -V
e procure--modules-path
na saída. Por exemplo:Você também deve estar ciente de que o carregamento dinâmico de módulos foi introduzido apenas no ciclo de desenvolvimento 1.10. Os módulos mais antigos foram projetados para serem compilados diretamente no nginx e precisariam ser atualizados para carregamento dinâmico. O módulo ao qual você vinculou é um deles. Entre em contato com o desenvolvedor para obter mais informações.
nginx -V
só revelará o--modules-path
sinalizador de configuração se o nginx tiver sido configurado com um--modules-path
argumento explícito. (Ou seja, se você executou./configure --modules-path=/path/to/modules
ao compilar o nginx, verá--modules-path=/path/to/modules
na saída denginx -V
.) O local padrão, se nenhum caminho foi especificado no momento da compilação, é$NGX_PREFIX/modules
. No meu sistema macOS, o$NGX_PREFIX
padrão é/usr/local/nginx
, portanto, o caminho padrão dos módulos é/usr/local/nginx/modules
; enquanto o Ubuntu 17.10 quebra um pouco o monólito prefixado e espera módulos em/usr/lib/nginx/modules
.Tal como acontece com muitas coisas adjacentes ao * nix, a configuração é privilegiada sobre a convenção aqui. Você pode achar que sua melhor aposta é compilar o nginx por conta própria, especificando os sinalizadores
--prefix=
e/ou ou--modules-path=
ao executar./configure
. Existem alguns bons documentos sobre esse processo aqui e aqui .