Miklix

Si të konfiguroni grupe të veçanta PHP-FPM në NGINX

Publikuar: 15 shkurt 2025 në 11:55:10 e paradites, UTC

Në këtë artikull, unë kaloj hapat e konfigurimit të nevojshëm për të ekzekutuar grupe të shumta PHP-FPM dhe për të lidhur NGINX me to nëpërmjet FastCGI, duke lejuar ndarjen e procesit dhe izolimin midis hosteve virtualë.


Kjo faqe u përkthye me makinë nga anglishtja për ta bërë të aksesueshme për sa më shumë njerëz. Fatkeqësisht, përkthimi me makinë nuk është ende një teknologji e përsosur, kështu që mund të ndodhin gabime. Nëse preferoni, mund ta shikoni versionin origjinal në anglisht këtu:

How to Set Up Separate PHP-FPM Pools in NGINX

Informacioni në këtë postim bazohet në NGINX 1.4.6 dhe PHP-FPM 5.5.9 që funksionojnë në Ubuntu Server 14.04 x64. Mund të jetë ose jo e vlefshme për versionet e tjera. (Përditësim: Mund të konfirmoj që nga Ubuntu Server 24.04, PHP-FPM 8.3 dhe NGINX 1.24.0, të gjitha udhëzimet në këtë postim ende funksionojnë)

Ka një sërë avantazhesh për konfigurimin e grupeve të shumëfishta të proceseve të fëmijëve PHP-FPM në vend që të ekzekutoni gjithçka në të njëjtin grup. Siguria, ndarja/izolimi dhe menaxhimi i burimeve vijnë në mendje si disa nga ato kryesore.

Pavarësisht se cili është motivimi juaj, ky postim do t'ju ndihmojë ta bëni atë :-)


Pjesa 1 – Krijoni një grup të ri PHP-FPM

Së pari, ju duhet të gjeni direktorinë ku PHP-FPM ruan konfigurimet e saj të pishinës. Në Ubuntu 14.04, kjo është /etc/php5/fpm/pool.d si parazgjedhje. Ndoshta ekziston tashmë një skedar atje i quajtur www.conf , i cili mban konfigurimin për grupin e paracaktuar. Nëse nuk e keni parë atë skedar më parë, ka shumë mundësi që duhet ta kaloni atë dhe të ndryshoni cilësimet në të për konfigurimin tuaj, pasi standardet janë për një server mjaft të dobët, por tani për tani thjesht bëni një kopje të tij në mënyrë që të mos fillojmë nga e para:

sudo cp www.conf mypool.conf

Sigurisht, zëvendësoni "mypool" me atë që dëshironi të quhet pishina juaj.

Tani hapni skedarin e ri duke përdorur nano ose cilindo redaktues teksti që preferoni dhe rregullojeni atë për t'iu përshtatur qëllimit tuaj. Ju ndoshta do të dëshironi të ndryshoni numrat e procesit të fëmijës dhe ndoshta nën cilin përdorues dhe grup funksionon pishina, por dy cilësimet që duhet t'i ndryshoni absolutisht janë emri i pishinës dhe priza që po dëgjon, përndryshe do të bie ndesh me grupin ekzistues dhe gjërat do të ndalojnë së funksionuari.

Emri i grupit është afër majës së skedarit, i mbyllur në kllapa katrore. Si parazgjedhje është [www] . Ndryshojeni këtë në çfarëdo që dëshironi; Unë sugjeroj të njëjtën gjë siç e keni emërtuar skedarin e konfigurimit, kështu që për hir të këtij shembulli ndryshoni atë në [mypool] . Nëse nuk e ndryshoni, duket se PHP-FPM do të ngarkojë vetëm skedarin e parë të konfigurimit me atë emër, i cili ka të ngjarë të prishë gjërat.

Më pas duhet të ndryshoni prizën ose adresën që po dëgjoni, e cila përcaktohet nga direktiva e dëgjimit . Si parazgjedhje, PHP-FPM përdor bazat Unix, kështu që direktiva juaj e dëgjimit ndoshta do të duket si kjo:

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

Ju mund ta ndryshoni atë në cilindo emër të vlefshëm që dëshironi, por përsëri, unë sugjeroj të përmbaheni me diçka të ngjashme me emrin e skedarit të konfigurimit, kështu që mund ta vendosni për shembull në:

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

Në rregull, atëherë ruajeni skedarin dhe dilni nga redaktori i tekstit.


Pjesa 2 – Përditësoni konfigurimin e hostit virtual NGINX

Tani ju duhet të hapni skedarin e hostit virtual NGINX me konfigurimin FastCGI që dëshironi të ndryshoni në një grup të ri - ose më mirë, lidheni me prizën e re.

Si parazgjedhje në Ubuntu 14.04, këto ruhen nën /etc/nginx/sites-available, por gjithashtu mund të përcaktohen diku tjetër. Ju ndoshta e dini më mirë se ku ndodhen konfigurimet e hostit tuaj virtual ;-)

Hapni skedarin përkatës të konfigurimit në redaktuesin tuaj të preferuar të tekstit dhe kërkoni direktivën fastcgi_pass (e cila duhet të jetë në kontekstin e vendndodhjes) që përcakton folenë PHP-FPM. Ju duhet ta ndryshoni këtë vlerë në mënyrë që të përputhet me konfigurimin e ri të grupit PHP-FPM që keni bërë në hapin e parë, kështu që duke vazhduar shembullin tonë, do ta ndryshoni këtë në:

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

Pastaj ruajeni dhe mbyllni edhe atë skedar. Ju jeni gati gati tani.


Pjesa 3 – Rinisni PHP-FPM dhe NGINX

Për të aplikuar ndryshimet e konfigurimit që keni bërë, rinisni PHP-FPM dhe NGINX. Mund të jetë e mjaftueshme për të ringarkuar në vend të rinisjes , por më duket se është pak e goditur dhe e humbur, në varësi të cilësimeve të ndryshuara. Në rastin e veçantë, doja që proceset e vjetra të fëmijëve PHP-FPM të vdisnin menjëherë, kështu që ishte i nevojshëm rinisja e PHP-FPM, por për NGINX mund të mjaftojë një ringarkim. Provojeni vetë.

sudo service php5-fpm restart
sudo service nginx restart

Dhe voila, ke mbaruar. Nëse keni bërë gjithçka siç duhet, hosti virtual që keni modifikuar tani duhet të përdorë grupin e ri PHP-FPM dhe të mos ndajë proceset e fëmijëve me ndonjë host tjetër virtual.

Shpërndaje në BlueskyShpërndaje në FacebookNdani në LinkedInShpërndaje në TumblrShpërndaje në XNdani në LinkedInPin në Pinterest

Mikkel Bang Christensen

Rreth Autorit

Mikkel Bang Christensen
Mikkel është krijuesi dhe pronari i miklix.com. Ai ka mbi 20 vjet përvojë si programues profesional kompjuteri/zhvillues softuerësh dhe aktualisht është i punësuar me kohë të plotë për një korporatë të madhe evropiane IT. Kur nuk bën blog, ai e kalon kohën e lirë në një gamë të gjerë interesash, hobish dhe aktivitetesh, të cilat mund të reflektohen në një farë mase në shumëllojshmërinë e temave të mbuluara në këtë faqe interneti.