Miklix

Kaip nustatyti atskirus PHP-FPM telkinius NGINX

Paskelbta: 2025 m. vasario 15 d. 11:52:43 UTC

Šiame straipsnyje apžvelgsiu konfigūracijos veiksmus, reikalingus norint paleisti kelis PHP-FPM telkinius ir prijungti prie jų NGINX per FastCGI, kad būtų galima atskirti procesus ir atskirti virtualius pagrindinius kompiuterius.


Šis puslapis buvo mašininiu būdu išverstas iš anglų kalbos, kad juo galėtų naudotis kuo daugiau žmonių. Deja, mašininis vertimas dar nėra tobula technologija, todėl gali pasitaikyti klaidų. Jei pageidaujate, originalią versiją anglų kalba galite peržiūrėti čia:

How to Set Up Separate PHP-FPM Pools in NGINX

Informacija šiame įraše yra pagrįsta NGINX 1.4.6 ir PHP-FPM 5.5.9, veikiančiais Ubuntu Server 14.04 x64. Jis gali galioti arba negalioja kitoms versijoms. (Atnaujinimas: galiu patvirtinti, kad nuo Ubuntu Server 24.04, PHP-FPM 8.3 ir NGINX 1.24.0 visos šiame įraše pateiktos instrukcijos vis dar veikia)

Yra daug privalumų, kai nustatomi keli PHP-FPM antriniai procesų telkiniai, o ne viskas vykdoma tame pačiame telkinyje. Saugumas, atskyrimas / izoliacija ir išteklių valdymas yra keletas pagrindinių.

Nepriklausomai nuo jūsų motyvacijos, šis įrašas jums padės tai padaryti :-)


1 dalis – naujo PHP-FPM telkinio nustatymas

Pirmiausia turite rasti katalogą, kuriame PHP-FPM saugo savo baseino konfigūracijas. Ubuntu 14.04 pagal numatytuosius nustatymus tai yra /etc/php5/fpm/pool.d. Tikriausiai ten jau yra failas www.conf , kuriame yra numatytojo telkinio konfigūracija. Jei anksčiau nežiūrėjote į šį failą, tikriausiai turėtumėte jį peržiūrėti ir jame pakeisti nustatymus, nes numatytieji nustatymai yra gana nepakankamai galingam serveriui, tačiau kol kas tiesiog pasidarykite jo kopiją, kad nereikėtų pradėti nuo nulio:

sudo cp www.conf mypool.conf

Žinoma, „mypool“ pakeiskite taip, kaip norite, kad jūsų baseinas būtų vadinamas.

Dabar atidarykite naują failą naudodami nano arba bet kurią pageidaujamą teksto rengyklę ir pritaikykite ją savo tikslui. Tikriausiai norėsite pakoreguoti antrinių procesų numerius ir galbūt tai, kuriam vartotojui ir grupei baseinas veikia, tačiau du parametrai, kuriuos būtinai turite pakeisti, yra baseino pavadinimas ir lizdas, kurio jis klauso, kitaip jis prieštaraus esamam telkiniui ir viskas nustos veikti.

Baseino pavadinimas yra šalia failo viršaus, laužtiniuose skliaustuose. Pagal numatytuosius nustatymus tai yra [www] . Pakeiskite tai į ką norite; Siūlau tą patį, kaip pavadinote konfigūracijos failą, todėl šio pavyzdžio labui pakeiskite jį į [mypool] . Jei jo nepakeisite, atrodo, kad PHP-FPM įkels tik pirmąjį konfigūracijos failą tokiu pavadinimu, o tai greičiausiai sugadins dalykus.

Tada turite pakeisti lizdą arba adresą, kurio klausote, o tai apibrėžia klausymo direktyva. Pagal numatytuosius nustatymus PHP-FPM naudoja Unix lizdus, ​​todėl jūsų klausymo direktyva tikriausiai atrodys taip:

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

Galite pakeisti jį į bet kokį galiojantį pavadinimą, bet vėlgi siūlau pasilikti kažką panašaus į konfigūracijos failo pavadinimą, kad galėtumėte, pavyzdžiui, nustatyti:

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

Gerai, išsaugokite failą ir išeikite iš teksto rengyklės.


2 dalis – Atnaujinkite NGINX virtualiojo pagrindinio kompiuterio konfigūraciją

Dabar turite atidaryti NGINX virtualiojo pagrindinio kompiuterio failą su FastCGI konfigūracija, kurią norite pakeisti į naują telkinį, arba, tiksliau, prisijungti prie naujojo lizdo.

Pagal numatytuosius nustatymus Ubuntu 14.04 versijoje jie saugomi /etc/nginx/sites-available, bet gali būti apibrėžti ir kitur. Jūs tikriausiai geriausiai žinote, kur yra jūsų virtualaus pagrindinio kompiuterio konfigūracijos ;-)

Atidarykite atitinkamą konfigūracijos failą savo mėgstamoje teksto rengyklėje ir ieškokite fastcgi_pass direktyvos (kuri turi būti vietos kontekste), apibrėžiančios PHP-FPM lizdą. Turite pakeisti šią reikšmę, kad ji atitiktų naują PHP-FPM telkinio konfigūraciją, kurią atlikote atlikdami pirmąjį veiksmą, todėl tęsdami pavyzdį pakeiskite ją į:

fastcgi_pass unix:/var/run/php5-fpm-mypool.sock;

Tada išsaugokite ir uždarykite tą failą. Beveik baigėte.


3 dalis – iš naujo paleiskite PHP-FPM ir NGINX

Norėdami pritaikyti atliktus konfigūracijos pakeitimus, iš naujo paleiskite PHP-FPM ir NGINX. Gali pakakti įkelti iš naujo , o ne paleisti iš naujo , bet manau, kad tai šiek tiek nukentėjo ir praleista, atsižvelgiant į tai, kurie nustatymai buvo pakeisti. Konkrečiu atveju norėjau, kad seni PHP-FPM antriniai procesai iš karto numirtų, todėl reikėjo iš naujo paleisti PHP-FPM, bet NGINX gali pakakti perkrauti. Išbandykite patys.

sudo service php5-fpm restart
sudo service nginx restart

Ir voila, baigėte. Jei viską padarėte teisingai, pakeistas virtualusis kompiuteris dabar turėtų naudoti naują PHP-FPM telkinį, o ne dalytis antriniais procesais su jokiais kitais virtualiais pagrindiniais kompiuteriais.

Pasidalinkite „Bluesky“.Dalintis FacebookBendrinkite „LinkedIn“.Bendrinkite „Tumblr“.Dalintis XBendrinkite „LinkedIn“.Prisegti prie Pinterest

Mikkel Bang Christensen

Apie autorių

Mikkel Bang Christensen
Mikkelis yra miklix.com kūrėjas ir savininkas. Jis turi daugiau nei 20 metų profesionalaus kompiuterių programuotojo ir programinės įrangos kūrėjo patirtį ir šiuo metu visą darbo dieną dirba didelėje Europos IT korporacijoje. Kai jis nerašo tinklaraščio, laisvalaikį skiria įvairiems interesams, pomėgiams ir užsiėmimams, kurie tam tikra prasme gali atsispindėti šioje svetainėje nagrinėjamų temų įvairovėje.