Како подесити одвојене ПХП-ФПМ групе у НГИНКС-у
Објављено: 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/фпм/поол.д. Тамо вероватно већ постоји датотека која се зове ввв.цонф , која садржи конфигурацију за подразумевани скуп. Ако нисте погледали ту датотеку пре него што је вероватно да би требало да прођете кроз њу и подесите подешавања у њој за своје подешавање јер су подразумеване вредности за сервер са прилично недовољном снагом, али за сада само направите његову копију да не бисмо морали да почињемо од нуле:
Наравно, замените „мипоол“ како год желите да се ваш базен зове.
Сада отворите нову датотеку користећи нано или било који други уређивач текста који желите и прилагодите је својој сврси. Вероватно ћете желети да подесите бројеве подређених процеса и евентуално под којим корисником и групом се базен покреће, али две поставке које апсолутно морате да промените су име базена и сокет који слуша, иначе ће бити у сукобу са постојећим скупом и ствари ће престати да раде.
Назив базена је при врху датотеке, у угластим заградама. Подразумевано је [ввв] . Промените ово у шта год желите; Предлажем исто као што сте назвали конфигурациону датотеку, па је зарад овог примера промените у [мипоол] . Ако га не промените, изгледа да ће ПХП-ФПМ учитати само прву конфигурациону датотеку са тим именом, што ће вероватно покварити ствари.
Затим морате да промените утичницу или адресу коју слушате, што је дефинисано директивом слушања . ПХП-ФПМ подразумевано користи Уник утичнице тако да ће ваша директива слушања вероватно изгледати овако:
Можете га променити у било које важеће име које желите, али опет, предлажем да се држите нечег сличног имену конфигурационе датотеке, тако да можете, на пример, да га поставите на:
У реду, онда сачувајте датотеку и изађите из уређивача текста.
Део 2 – Ажурирајте конфигурацију виртуелног хоста НГИНКС
Сада морате да отворите НГИНКС виртуелну датотеку хоста са ФастЦГИ конфигурацијом коју желите да промените у нови скуп – или боље речено, да се повежете са новом утичницом.
Подразумевано на Убунту 14.04, они се чувају под /етц/нгинк/ситес-аваилабле, али се могу дефинисати и на другом месту. Вероватно најбоље знате где се налазе ваше конфигурације виртуелног хоста ;-)
Отворите релевантну конфигурациону датотеку у свом омиљеном уређивачу текста и потражите директиву фастцги_пасс (која мора бити у контексту локације) која дефинише ПХП-ФПМ сокет. Морате да промените ову вредност тако да одговара новој ПХП-ФПМ конфигурацији базена коју сте направили у првом кораку, тако да бисте, настављајући наш пример, променили ово у:
фастцги_пасс уник:/вар/рун/пхп5-фпм-мипоол.соцк;
Затим сачувајте и затворите и ту датотеку. Скоро сте готови.
Део 3 – Поново покрените ПХП-ФПМ и НГИНКС
Да бисте применили промене конфигурације које сте направили, поново покрените ПХП-ФПМ и НГИНКС. Можда ће бити довољно да се поново учита уместо поновног покретања , али сматрам да је то мало погођено и промашено, у зависности од тога која су подешавања промењена. У конкретном случају, желео сам да стари ПХП-ФПМ подређени процеси одмах умру, тако да је било потребно поновно покретање ПХП-ФПМ-а, али за НГИНКС може бити довољно поновно учитавање. Испробајте сами.
sudo service nginx restart
И воила, готови сте. Ако сте све урадили исправно, виртуелни хост који сте изменили би сада требало да користи нови ПХП-ФПМ скуп и не дели подређене процесе са било којим другим виртуелним хостовима.