Wprowadzenie
Od NGINX w wersji 1.9.11 i upwarts wprowadzono nową funkcję: moduły dynamiczne.
Za pomocą modułów dynamicznych można opcjonalnie ładować osobne pliki obiektów udostępnionych w środowisku wykonawczym jako moduły - zarówno moduły stron trzecich, jak i niektóre natywne moduły NGINX. (source)
Jak włączyć moduł dynamiczny z istniejącą instalacją NGINX
Moja konfiguracja i problem
Mam nginx zainstalowany z głównego nurtu (obecnie 1.9.14), dzięki czemu jest w stanie używać modułów dynamicznych. Posiada również moduł I chcą dynamicznie włączona:
nginx -V
nginx version: nginx/1.9.14
built by gcc 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.1)
built with OpenSSL 1.0.1f 6 Jan 2014
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules ... --with-http_geoip_module=dynamic ...
Zanotować --with-http_geoip_module=dynamic
który ładuje moduł muszę (dynamicznie). Niestety, brakuje dokumentacji (niektóre szczegóły) i nie jestem w stanie jej ustawić.
Mam istniejącą instalację NGINX (nie ze źródła). Ale o ile rozumiem, wystarczy zbudować moduł, umieścić wygenerowany plik modułu w odpowiednim folderze NGINX i włączyć go w pliku konfiguracyjnym.
co starałem tak daleko
Przetestowałem to na innym komputerze (z tej samej konfiguracji, ale nie maszyna produkcyjna), ale nie widzę pliku ngx_http_geoip_module.so
. Komendy użyłem:
wget http://nginx.org/download/nginx-1.9.14.tar.gz
tar -xzf nginx-1.9.14.tar.gz
cd nginx-1.9.14/
./configure --with-http_geoip_module=dynamic
pytania
- Czy jest to problem, który próbuję zbudować moduł w systemie, który ma zainstalowany nginx nie ze źródeł?
- Dlaczego nie ma pliku .so wygenerowanego przez moje polecenia?
muszę przeinstalować nginx z ppa? A może standardowy NGINX od Ubuntu jest wystarczający? – yoano
jeśli NGINX jest zbudowany z modułami dynamicznymi, których nie trzeba instalować ponownie. Aby sprawdzić dostępne moduły wpisz 'nginx -V' i sprawdź ciąg dynamiczny. – miyuru
Gdzie jest główny kontekst? –