Компилиране и свързване на динамични nginx модули

След това разбирате, че искате да опитате модула http2, да използвате модула echo или да добавите поддръжка за обработка на Ruby скриптове, като свържете модула Passenger към nginx. Ако сте работили с Apache2 преди, ще бъдете разочаровани. Не можете просто да вземете и инсталирате модул от хранилището и да го активирате в конзолата (a2enmod). От версия 1.9.11 nginx поддържа динамични модули. Те не са толкова лесни за инсталиране, колкото при Apache, но не е трудно и ще го разгледаме след малко. Разбира се, вече има готови динамични модули от самите разработчици на nginx, които могат да бъдат инсталирани от ряпа:

Но тук говорим за модули от трети страни. За да не компилирате nginx от нулата, като посочите необходимите модули и след това промените конфигурации, пътища в системата и т.н. - можете да добавите динамичен модул към текущата инсталация на nginx. За това имаме нужда от:

  • nginx източници, които съответстват на вашата версия на сървъра (можете да проверите версията сnginx -v). Изтеглете източника от тук.
  • Инсталиран Passenger (защото ще добавим неговия динамичен модул към nginx)
  • Източници на други модули, от които се нуждаем, които не са в базовата дистрибуция на nginx: Модул Echo

За да добавим модули към текущата инсталация на nginx, трябва да знаем с какви параметри е изграден. Ако изграждате с параметри, които ще съдържат само нови модули, nginx ще ругае и няма да ви позволи да използвате такъв модул. За да разберете с какви параметри е инсталиран nginx (включително от хранилището), трябва да въведете командата

Резултатът ще бъде нещо подобно:

Просто трябва да добавим модулите, от които се нуждаем тук:

, където/usr/share/passenger/ngx_http_passenger_moduleе пътят до модула Passenger, се появява слединсталирането му в системата,/tmp/echo-nginx-moduleе пътят на клонираното хранилище на модула Echo.

Резултатът е една команда:

Остава да се изградят и актуализират модули за nginx:

След това текущият ви nginx ще бъде актуализиран, необходимите модули ще бъдат добавени към него, а динамичните модули ще бъдат в папката /etc/nginx/modules.

За да ги активирате в nginx, всичко, което остава, е да добавите следните редове към глобалната конфигурация на nginx (/etc/nginx/nginx.conf) в самото начало на файла: load_module modules/ngx_http_passenger_module.so; load_module modules/ngx_http_echo_module.so;

Готов! Просто трябва да рестартираме уеб сървъра и да се насладим на живота с необходимите модули:

В анкетата могат да участват само регистрирани потребители. Влез Моля.

Можете да помогнете и да прехвърлите средства за развитието на сайта