Как установить и включить модуль nginx ngx_http_limit_req_module в Ubuntu bionic

Как установить и включить модуль nginx ngx_http_limit_req_module в Ubuntu bionic

Мне нужно установить ngx_http_limit_req_modulenginx на Ubuntu Bionic.

Я нахожу примеры конфигурации везде, но я НЕ нахожу, как установить или где я могу получить это как готовый модуль. Если я смотрю на исходники на gitlab, я нахожу его в каталоге modules/, но если я запускаю, nginx -Vего там нет. Я также использую указанный репозиторий из nginx-stable ( https://nginx.org/packages/ubuntu/ bionic nginx), но я бы предпочел пакет nginx из репозитория bionic по умолчанию.

Я новичок в экосистеме nginx, поэтому буду весьма признателен за помощь.

Или он уже скомпилирован и настолько очевиден для всех (кроме меня), что не отображается при запуске nginx -V?

Спасибо большое заранее :)

решение1

Я попробовал это сейчас, и это работает из коробки. По крайней мере с простым пакетом nginx (НЕ nginx-full или nginx-extras... которые тоже должны работать) из репозитория Ubuntu Bionic. Это версия nginx 1.14.0.

Выходной сигнал — nginx -Vэто

nginx version: nginx/1.14.0 (Ubuntu)
built with OpenSSL 1.1.1  11 Sep 2018
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 
-fdebug-prefix-map=/build/nginx-GkiujU/nginx-1.14.0=. 
-fstack-protector-strong -Wformat -Werror=format-security 
-fPIC -Wdate-time -D_FORTIFY_SOURCE=2' 
--with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fPIC' 
--prefix=/usr/share/nginx 
--conf-path=/etc/nginx/nginx.conf 
--http-log-path=/var/log/nginx/access.log 
--error-log-path=/var/log/nginx/error.log 
--lock-path=/var/lock/nginx.lock 
--pid-path=/run/nginx.pid 
--modules-path=/usr/lib/nginx/modules 
--http-client-body-temp-path=/var/lib/nginx/body 
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi 
--http-proxy-temp-path=/var/lib/nginx/proxy 
--http-scgi-temp-path=/var/lib/nginx/scgi 
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi 
--with-debug --with-pcre-jit 
--with-http_ssl_module 
--with-http_stub_status_module 
--with-http_realip_module 
--with-http_auth_request_module 
--with-http_v2_module 
--with-http_dav_module 
--with-http_slice_module 
--with-threads 
--with-http_addition_module 
--with-http_geoip_module=dynamic 
--with-http_gunzip_module 
--with-http_gzip_static_module 
--with-http_image_filter_module=dynamic 
--with-http_sub_module 
--with-http_xslt_module=dynamic 
--with-stream=dynamic 
--with-stream_ssl_module 
--with-mail=dynamic 
--with-mail_ssl_module

Так что не признак ngx_http_limit_req_moduleи в каталоге модуля также нет .soфайла, но он работает. Так что он видит, что он каким-то образом находится в ядре nginx.

Например, вы найдете его ngx_http_geoip_module.cв каталоге модулей исходников nginx (зеркало в Github:https://github.com/nginx/nginx/tree/master/src/http/modules), который вам нужно указать, как показано выше. Но в том же каталоге есть также модуль, ngx_http_limit_req_module.cи вам не нужно указывать его... поэтому совершенно неясно, какой модуль нужно указать при настройке nginx.

Возможно, это поможет кому-то сэкономить время на исследовании.

Ваше здоровье!

Связанный контент