Miklix

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

Kushicilelwe: 15 Pébruari 2025 jam 11.57.27 UTC

Kulesi sihloko, ngihamba ngezinyathelo zokumisa ezidingekayo ukuze ngiqhube amachibi amaningi we-PHP-FPM futhi ngixhume i-NGINX kuwo nge-FastCGI, okuvumela ukuhlukaniswa kwenqubo nokuhlukaniswa phakathi kwababungazi ababonakalayo.


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 kulokhu okuthunyelwe lusekelwe ku-NGINX 1.4.6 kanye ne-PHP-FPM 5.5.9 esebenza ku-Ubuntu Server 14.04 x64. Ingase ivumeleke noma ingasebenzi kwezinye izinguqulo. (Buyekeza: Ngingaqinisekisa ukuthi kusukela ku-Ubuntu Server 24.04, PHP-FPM 8.3 kanye ne-NGINX 1.24.0, yonke imiyalo kulokhu okuthunyelwe isasebenza)

Kunezinzuzo ezimbalwa zokusetha amachibi enqubo yezingane ye-PHP-FPM amaningi esikhundleni sokusebenzisa yonke into endaweni yokubhukuda efanayo. Ukuphepha, ukuhlukaniswa/ukuhlukaniswa kanye nokuphathwa kwezinsiza kubuya engqondweni njengokumbalwa okubalulekile.

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


Ingxenye 1 - Setha iphuli entsha ye-PHP-FPM

Okokuqala, udinga ukuthola inkomba lapho i-PHP-FPM igcina khona ukucushwa kwayo kwechibi. Ku-Ubuntu 14.04, lokhu kungu-/etc/php5/fpm/pool.d ngokuzenzakalelayo. Cishe sekuvele kunefayela lapho elibizwa ngokuthi www.conf , eliphethe ukucushwa kwechibi elizenzakalelayo. Uma ungazange ubheke lelo fayela ngaphambi kokuthi ube namathuba okuthi udlule kulo futhi ulungise izilungiselelo ezikulo zokusetha kwakho njengoba okumisiwe kungokweseva enamandla angaphansi kwamandla, kodwa okwamanje vele wenze ikhophi yalo ukuze kungadingeki siqale ekuqaleni:

sudo cp www.conf mypool.conf

Kunjalo, shintsha "mypool" nganoma yini ofuna ukuthi ichibi lakho libizwe.

Manje vula ifayela elisha usebenzisa i-nano noma yimuphi umhleli wombhalo owuthandayo futhi ulilungise ukuze livumelane nenhloso yakho. Cishe uzofuna ukulungisa izinombolo zenqubo yengane futhi mhlawumbe yimuphi umsebenzisi neqembu i-pool egijima ngaphansi kwayo, kodwa izilungiselelo ezimbili okufanele uzishintshe ngokuphelele igama lechibi kanye nesokhethi elilalelayo, ngaphandle kwalokho izongqubuzana ne-pool ekhona futhi izinto zizoyeka ukusebenza.

Igama lechibi liseduze naphezulu kwefayela, livalelwe kubakaki abayisikwele. Ngokuzenzakalelayo ithi [www] . Shintsha lokhu kunoma yini oyifunayo; Ngiphakamisa okufanayo njengoba uqambe ifayela lokumisa, ngakho-ke ngenxa yalesi sibonelo lishintshe libe yi- [mypool] . Uma ungayishintshi, kubonakala sengathi i-PHP-FPM izolayisha kuphela ifayela lokuqala lokucushwa elinalelo gama, okungenzeka liphule izinto.

Khona-ke udinga ukushintsha isokhethi noma ikheli olilalele, elichazwa umyalo wokulalela . Ngokuzenzakalelayo, i-PHP-FPM isebenzisa amasokhethi e-Unix ukuze isiqondiso sakho sokulalela sizobukeka kanje:

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

Ungayishintsha ibe yiliphi igama elivumelekile olifunayo, kodwa futhi, ngiphakamisa ukunamathela kokuthile okufana negama lefayela lokumisa, ukuze ngokwesibonelo ukulisethe ku:

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

Kulungile, gcina ifayela bese uphuma kusihleli sombhalo.


Ingxenye 2 - Buyekeza ukucushwa kokusingatha okubonakalayo kwe-NGINX

Manje udinga ukuvula ifayela le-NGINX le-virtual host ngokucushwa kwe-FastCGI ofuna ukukushintsha echibini elisha - noma kunalokho, xhuma kusokhethi elisha.

Ngokuzenzakalelayo ku-Ubuntu 14.04, lezi zigcinwa ngaphansi /etc/nginx/sites-available, kodwa zingachazwa kwenye indawo. Cishe wazi kangcono ukuthi ukucushwa komsingathi wakho okubonakalayo kutholakala kuphi ;-)

Vula ifayela lokucushwa elifanele kusihleli sakho sombhalo ozithandayo bese ubheka isiyalelo se-fastcgi_pass (okumele sibe sesimweni sendawo) esichaza isokhethi ye-PHP-FPM. Kumelwe ushintshe leli nani ukuze lifane nokulungiselelwa kwechibi le-PHP-FPM okusha okwenze ngaphansi kwesinyathelo sokuqala, ukuze uqhubeke nesibonelo sethu ungashintsha lokhu kube:

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

Bese ulondoloza futhi uvale nalelo fayela. Usuzoqeda manje.


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

Ukuze usebenzise izinguquko zokumisa ozenzile, qala kabusha kokubili i-PHP-FPM ne-NGINX. Kungase kwanele ukulayisha kabusha esikhundleni sokuqala kabusha , kodwa ngiyithola ishaya kancane futhi igeja, kuye ngokuthi yiziphi izilungiselelo ezishintshwayo. Esimweni esithile, bengifuna ukuthi izinqubo zezingane ze-PHP-FPM zife ngaso leso sikhathi, ngakho-ke ukuqalisa kabusha i-PHP-FPM kwakudingeka, kodwa ku-NGINX ukulayisha kabusha kungase kwanele. Zizame ngokwakho.

sudo service php5-fpm restart
sudo service nginx restart

Futhi voila, usuqedile. Uma wenze yonke into ngendlela efanele, umsingathi oyi-virtual omlungisile manje kufanele asebenzise iphuli entsha ye-PHP-FPM futhi angabelani ngezinqubo zezingane nanoma ibaphi abanye abasingathi ababonakalayo.

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

Mikkel Bang Christensen

Mayelana Nombhali

Mikkel Bang 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.