Илюстрирам: Ако вече си инсталирал nginx, трябва да добавиш модул, който не е компилиран и инсталиран, как го правиш?
По-конкретно: Ето пример за инсталиране на външен ngx_http_google_filter_module модул Модулът за nginx е, че трябва да компилираш nginx наново, вместо да конфигурираш .so както прави apache 1. Изтеглете разширението на трета страна ngx_http_google_filter_module
# CD /данни/софтуер/ # Git Clone https://github.com/cuber/ngx_http_google_filter_module
2. Проверете кои модули са инсталирани, когато компилирате и инсталирате nginx
# nginx -V Версия на nginx: nginx/1.8.0 построено от GCC 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) построен с OpenSSL 1.0.1e-fips 11 февруари 2013 г. Активирана поддръжка на TLS SNI конфигурирайте аргументи: --префикс=/usr/local/nginx --with-http_ssl_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --add-module=/data/software/ngx_http_substitutions_filter_module
Вижда се, че компилацията и инсталацията използват --prefix=/usr/local/nginx --with-http_ssl_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --add-module=/data/software/ngx_http_substitutions_filter_module тези параметри. --add-module=/data/software/ngx_http_substitutions_filter_module беше добавен, когато добави ngx_http_substitutions_filter_module модул в предишната компилация
3. Добавете модула, който трябва да бъде инсталиран, и го компилирайте отново, например добавяне –add-module=/data/software/ngx_http_google_filter_module тук
# ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --add-module=/data/software/ngx_http_substitutions_filter_module --add-module=/data/software/ngx_http_google_filter_module # направи // Не прави инсталация, иначе наистина ще бъде презаписано
4. Заменете binary на nginx:
# cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
# cp ./objs/nginx /usr/local/nginx/sbin/
(Забележка, при изпълнение на това изречение може да има грешка, cp: не може да създаде обикновен файл '/service/nginx-1.10.2/sbin/nginx': Текстовият файл е зает, тъй като nginx файлът все още се използва, при повторно добавяне на модула е най-добре първо да се спре nginx!! )
|