Miklix

Ungawasetha Kanjani Amachibi Ahlukene we-PHP-FPM ku-NGINX

Kushicilelwe: Februwari 15, 2025 11:57:27 UTC
Igcine ukubuyekezwa: Januwari 12, 2026 08:30:27 UTC

Kulesi sihloko, ngibheka izinyathelo zokucushwa ezidingekayo ukuze kusetshenziswe amachibi amaningi e-PHP-FPM futhi ngixhumanise i-NGINX kuwo nge-FastCGI, okuvumela ukuhlukaniswa kwenqubo kanye nokuhlukaniswa phakathi kwama-virtual hosts.


Leli khasi lihunyushwe ngomshini lisuka esiNgisini ukuze lenze lifinyeleleke kubantu abaningi ngangokunokwenzeka. Ngeshwa, ukuhumusha ngomshini akukabi ubuchwepheshe obuphelele, ngakho-ke amaphutha angenzeka. Uma uthanda, ungabuka inguqulo yokuqala yesiNgisi lapha:

How to Set Up Separate PHP-FPM Pools in NGINX

Ulwazi olukulesi sihloko lusekelwe ku-NGINX 1.4.6 kanye ne-PHP-FPM 5.5.9 esebenza ku-Ubuntu Server 14.04 x64. Lungase lusebenze noma lungasebenzi kwezinye izinguqulo. (Isibuyekezo: Ngingaqinisekisa ukuthi kusukela ku-Ubuntu Server 24.04, i-PHP-FPM 8.3 kanye ne-NGINX 1.24.0, yonke imiyalelo ekulesi sihloko isasebenza)

Kunezinzuzo eziningana zokusetha amachibi amaningi enqubo yezingane ye-PHP-FPM kunokusebenzisa yonke into echibini elifanayo. Ukuphepha, ukuhlukaniswa/ukuhlukaniswa kanye nokuphathwa kwezinsiza kuvela engqondweni njengezimbalwa ezinkulu.

Kungakhathaliseki ukuthi yini isisusa sakho, lokhu okuthunyelwe kuzokusiza ukukwenza :-)

Ingxenye 1 - Setha ichibi elisha le-PHP-FPM

Okokuqala, udinga ukuthola uhla lwemibhalo lapho i-PHP-FPM igcina khona ukucushwa kwayo kwechibi. Ku-Ubuntu 14.04, lokhu kuyi-/etc/php5/fpm/pool.d ngokuzenzakalelayo. Cishe sekukhona ifayela lapho elibizwa nge-www.conf, eligcina ukucushwa kwechibi elizenzakalelayo. Uma ungakaze ulibheke lelo fayela ngaphambili, amathuba akhona ukuthi kufanele ulibheke bese ulungisa izilungiselelo ezikulo zokusetha kwakho njengoba okuzenzakalelayo kungeseva engenamandla anele, kodwa okwamanje yenza ikhophi yalo ukuze kungadingeki siqale phansi:

sudo cp www.conf mypool.conf

Vele, shintsha igama elithi “mypool” nganoma yini ofuna ibizwe ngayo ichibi lakho.

Manje vula ifayela elisha usebenzisa i-nano noma yimuphi umhleli wombhalo owuthandayo bese ulilungisa ukuze livumelane nenhloso yakho. Cishe uzofuna ukulungisa izinombolo zenqubo yengane futhi mhlawumbe yimuphi umsebenzisi neqembu ichibi elisebenza ngaphansi kwalo, kodwa izilungiselelo ezimbili okufanele uzishintshe ngokuphelele igama lechibi kanye nesokhethi elilalelayo, ngaphandle kwalokho lizongqubuzana nechibi elikhona futhi izinto zizoyeka ukusebenza.

Igama lechibi liseduze nengxenye ephezulu yefayela, lifakwe kubakaki abayisikwele. Ngokuzenzakalelayo yi-[www]. Shintsha lokhu kube yilokho okufunayo; Ngiphakamisa ukuthi kufane nalokho oqambe ngakho ifayela lokucushwa, ngakho-ke ngenxa yalesi sibonelo lishintshe libe yi-[mypool]. Uma ungayishintshi, kubonakala sengathi i-PHP-FPM izolayisha kuphela ifayela lokucushwa lokuqala ngalelo gama, okungenzeka liphule izinto.

Ngemuva kwalokho udinga ukushintsha isokhethi noma ikheli olilalele, elichazwa yisiqondiso sokulalela. Ngokuzenzakalelayo, i-PHP-FPM isebenzisa amasokhethi e-Unix ukuze isiqondiso sakho sokulalela cishe sizobukeka kanje:

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

Ungayishintsha ibe yinoma yiliphi igama elivumelekile olifunayo, kodwa futhi, ngiphakamisa ukuthi unamathele kokuthile okufana negama lefayela lokucushwa, ngakho-ke ungalibeka isibonelo ku:

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

Kulungile-ke, londoloza ifayela bese uphuma kumhleli wombhalo.

Ingxenye 2 - Buyekeza ukucushwa kwe-NGINX virtual host

Manje udinga ukuvula ifayela le-NGINX virtual host ngokulungiselelwa kwe-FastCGI ofuna ukuyishintsha ibe yichibi elisha - noma kunalokho, xhuma kusokhethi elisha.

Ngokuzenzakalelayo ku-Ubuntu 14.04, lokhu kugcinwa ngaphansi kwe-/etc/nginx/sites-available, kodwa kungachazwa nakwezinye izindawo. Cishe wazi kangcono ukuthi ukucushwa kwe-virtual host yakho kutholakala kuphi ;-)

Vula ifayela lokucushwa elifanele kumhleli wakho wombhalo owuthandayo bese ubheka isiqondiso se-fastcgi_pass (okumelwe sibe sendaweni ethile) esichaza isokhethi ye-PHP-FPM. Kumelwe ushintshe leli nani ukuze lifane nokucushwa kwechibi elisha le-PHP-FPM okwenzile ngaphansi kwesinyathelo sokuqala, ngakho-ke ukuqhubeka nesibonelo sethu uzoshintsha lokhu kube:

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

Bese ulondoloza bese uvala lelo fayela. Usuzoqeda manje.

Ingxenye 3 - Qala kabusha i-PHP-FPM kanye ne-NGINX

Ukuze usebenzise izinguquko zokucushwa ozenzile, qala kabusha i-PHP-FPM kanye ne-NGINX. Kungase kwanele ukulayisha kabusha esikhundleni sokuqala kabusha, kodwa ngikuthola kuphazamiseke kancane, kuye ngokuthi yiziphi izilungiselelo ezishintshiwe. Esimweni esithile, ngangifuna ukuthi izinqubo ezindala ze-PHP-FPM zife ngokushesha, ngakho-ke ukuqala kabusha i-PHP-FPM kwakudingeka, kodwa ku-NGINX ukulayisha kabusha kungase kwanele. Zama wena.

sudo service php5-fpm restart
sudo service nginx restart

Futhi voila, usuqedile. Uma wenze konke ngendlela efanele, i-virtual host oyishintshile kufanele manje isebenzise ichibi elisha le-PHP-FPM futhi ingabelani ngezinqubo zobuntwana nanoma yimaphi amanye ama-virtual host.

Yabelana ku-BlueskyYabelana ku-FacebookYabelana ku-LinkedInYabelana ku-TumblrYabelana ku-XYabelana ku-LinkedInPhina ku-Pinterest

Mikkel Christensen

Mayelana Nombhali

Mikkel Christensen
U-Mikkel ungumdali nomnikazi we-miklix.com. Unesipiliyoni seminyaka engaphezu kwengu-20 njengochwepheshe bezinhlelo zekhompyutha/unjiniyela wesoftware futhi njengamanje uqashwe ngokugcwele enkampanini enkulu ye-IT yaseYurophu. Lapho engabhali, uchitha isikhathi sakhe sokuphumula ezintweni eziningi azithandayo, azilibazisa, nemisebenzi, okungenzeka ngokwezinga elithile ibonakale ezihlokweni ezihlukahlukene ezitholakala kule webhusayithi.