Miklix

Како подесити одвојене ПХП-ФПМ групе у НГИНКС-у

Објављено: 15. фебруар 2025. 11:56:53 UTC

У овом чланку прелазим преко корака конфигурације који су потребни за покретање више ПХП-ФПМ скупова и повезивање НГИНКС-а са њима преко ФастЦГИ, омогућавајући раздвајање процеса и изолацију између виртуелних хостова.


Ова страница је машински преведена са енглеског како би била доступна што већем броју људи. Нажалост, машинско превођење још увек није усавршена технологија, тако да може доћи до грешака. Ако желите, можете погледати оригиналну енглеску верзију овде:

How to Set Up Separate PHP-FPM Pools in NGINX

Информације у овом посту су засноване на НГИНКС 1.4.6 и ПХП-ФПМ 5.5.9 који раде на Убунту Серверу 14.04 к64. Може, али и не мора бити важеће за друге верзије. (Ажурирање: могу да потврдим да од Убунту Сервера 24.04, ПХП-ФПМ 8.3 и НГИНКС 1.24.0, сва упутства у овом посту и даље раде)

Постоји низ предности постављања више ПХП-ФПМ подређених скупова процеса уместо покретања свега у истом базену. Сигурност, раздвајање/изолација и управљање ресурсима се сећају као неколико главних.

Без обзира на то која је ваша мотивација, овај пост ће вам помоћи у томе :-)


Део 1 – Подесите нови ПХП-ФПМ скуп

Прво, потребно је да лоцирате директоријум где ПХП-ФПМ складишти своје конфигурације базена. На Убунту 14.04, ово је подразумевано /етц/пхп5/фпм/поол.д. Тамо вероватно већ постоји датотека која се зове ввв.цонф , која садржи конфигурацију за подразумевани скуп. Ако нисте погледали ту датотеку пре него што је вероватно да би требало да прођете кроз њу и подесите подешавања у њој за своје подешавање јер су подразумеване вредности за сервер са прилично недовољном снагом, али за сада само направите његову копију да не бисмо морали да почињемо од нуле:

sudo cp www.conf mypool.conf

Наравно, замените „мипоол“ како год желите да се ваш базен зове.

Сада отворите нову датотеку користећи нано или било који други уређивач текста који желите и прилагодите је својој сврси. Вероватно ћете желети да подесите бројеве подређених процеса и евентуално под којим корисником и групом се базен покреће, али две поставке које апсолутно морате да промените су име базена и сокет који слуша, иначе ће бити у сукобу са постојећим скупом и ствари ће престати да раде.

Назив базена је при врху датотеке, у угластим заградама. Подразумевано је [ввв] . Промените ово у шта год желите; Предлажем исто као што сте назвали конфигурациону датотеку, па је зарад овог примера промените у [мипоол] . Ако га не промените, изгледа да ће ПХП-ФПМ учитати само прву конфигурациону датотеку са тим именом, што ће вероватно покварити ствари.

Затим морате да промените утичницу или адресу коју слушате, што је дефинисано директивом слушања . ПХП-ФПМ подразумевано користи Уник утичнице тако да ће ваша директива слушања вероватно изгледати овако:

listen = /var/run/php5-fpm.sock

Можете га променити у било које важеће име које желите, али опет, предлажем да се држите нечег сличног имену конфигурационе датотеке, тако да можете, на пример, да га поставите на:

listen = /var/run/php5-fpm-mypool.sock

У реду, онда сачувајте датотеку и изађите из уређивача текста.


Део 2 – Ажурирајте конфигурацију виртуелног хоста НГИНКС

Сада морате да отворите НГИНКС виртуелну датотеку хоста са ФастЦГИ конфигурацијом коју желите да промените у нови скуп – или боље речено, да се повежете са новом утичницом.

Подразумевано на Убунту 14.04, они се чувају под /етц/нгинк/ситес-аваилабле, али се могу дефинисати и на другом месту. Вероватно најбоље знате где се налазе ваше конфигурације виртуелног хоста ;-)

Отворите релевантну конфигурациону датотеку у свом омиљеном уређивачу текста и потражите директиву фастцги_пасс (која мора бити у контексту локације) која дефинише ПХП-ФПМ сокет. Морате да промените ову вредност тако да одговара новој ПХП-ФПМ конфигурацији базена коју сте направили у првом кораку, тако да бисте, настављајући наш пример, променили ово у:

фастцги_пасс уник:/вар/рун/пхп5-фпм-мипоол.соцк;

Затим сачувајте и затворите и ту датотеку. Скоро сте готови.


Део 3 – Поново покрените ПХП-ФПМ и НГИНКС

Да бисте применили промене конфигурације које сте направили, поново покрените ПХП-ФПМ и НГИНКС. Можда ће бити довољно да се поново учита уместо поновног покретања , али сматрам да је то мало погођено и промашено, у зависности од тога која су подешавања промењена. У конкретном случају, желео сам да стари ПХП-ФПМ подређени процеси одмах умру, тако да је било потребно поновно покретање ПХП-ФПМ-а, али за НГИНКС може бити довољно поновно учитавање. Испробајте сами.

sudo service php5-fpm restart
sudo service nginx restart

И воила, готови сте. Ако сте све урадили исправно, виртуелни хост који сте изменили би сада требало да користи нови ПХП-ФПМ скуп и не дели подређене процесе са било којим другим виртуелним хостовима.

Поделите на БлуескиПоделите на ФејсбукуДелите на ЛинкедИнуПодели на Тумблр-уПодели на КсДелите на ЛинкедИнуПин на Пинтерест-у

Миккел Банг Кристенсен

О аутору

Миккел Банг Кристенсен
Миккел је креатор и власник миклик.цом. Има преко 20 година искуства као професионални компјутерски програмер/програмер софтвера и тренутно је запослен са пуним радним временом у великој европској ИТ корпорацији. Када не пише блог, своје слободно време проводи на широком спектру интересовања, хобија и активности, што се у извесној мери може одразити на разноврсност тема обрађених на овој веб страници.