Miklix

Kumaha Nyetél Kolam PHP-FPM Pisah di NGINX

Diterbitkeun: 15 Pébruari 2025 jam 11.56.11 UTC

Dina tulisan ieu, kuring ngalangkungan léngkah-léngkah konfigurasi anu diperyogikeun pikeun ngajalankeun sababaraha kolam renang PHP-FPM sareng nyambungkeun NGINX ka aranjeunna via FastCGI, ngamungkinkeun prosés pamisahan sareng isolasi antara host virtual.


Kaca ieu ditarjamahkeun ku mesin tina basa Inggris supados tiasa diaksés ku saloba-lobana jalma. Hanjakalna, tarjamahan mesin henteu acan janten téknologi anu sampurna, janten kasalahan tiasa lumangsung. Upami anjeun hoyong, anjeun tiasa ningali versi Inggris asli di dieu:

How to Set Up Separate PHP-FPM Pools in NGINX

Inpormasi dina tulisan ieu dumasar kana NGINX 1.4.6 sareng PHP-FPM 5.5.9 dijalankeun dina Ubuntu Server 14.04 x64. Ieu bisa atawa bisa jadi teu valid pikeun vérsi séjén. (Update: Abdi tiasa mastikeun yén dina Ubuntu Server 24.04, PHP-FPM 8.3 sareng NGINX 1.24.0, sadaya petunjuk dina tulisan ieu masih jalan)

Aya sababaraha kaunggulan pikeun nyetél sababaraha pools prosés anak PHP-FPM tinimbang ngajalankeun sagalana dina kolam renang sarua. Kaamanan, pamisahan / isolasi sareng manajemén sumber daya aya dina pikiran salaku sababaraha anu utama.

Henteu paduli naon motivasi anjeun, tulisan ieu bakal ngabantosan anjeun ngalakukeunana :-)


Bagian 1 - Nyetél kolam renang PHP-FPM énggal

Mimiti, anjeun kedah milarian diréktori dimana PHP-FPM nyimpen konfigurasi kolam renang na. Dina Ubuntu 14.04, ieu /etc/php5/fpm/pool.d sacara standar. Aya meureun geus aya file disebut www.conf , nu nyepeng konfigurasi pikeun pool standar. Upami anjeun henteu acan ningali file éta sateuacan aya kamungkinan anjeun kedah ngaliwat éta sareng nyéépkeun setélan di dinya pikeun pangaturan anjeun sabab standarna kanggo server anu teu kuat, tapi pikeun ayeuna ngan ukur ngadamel salinanna supados urang henteu kedah ngamimitian ti mimiti:

sudo cp www.conf mypool.conf

Tangtu, ngaganti "mypool" kalawan naon rék kolam renang anjeun disebut.

Ayeuna buka file anyar nganggo nano atanapi pangropéa téks anu mana waé anu anjeun pikahoyong sareng saluyukeun kana tujuan anjeun. Anjeun meureun bakal hoyong tweak angka prosés anak jeung kamungkinan nu pamaké sarta grup kolam renang dijalankeun dina, tapi dua setélan nu mutlak kudu robah nyaéta ngaran kolam renang urang jeung stop kontak eta dengekeun, disebutkeun eta bakal konflik jeung kolam renang aya jeung hal bakal eureun gawé.

Ngaran kolam renang deukeut luhureun file, enclosed dina kurung pasagi. Sacara standar éta [www] . Ngarobah ieu naon rék; Kuring nyarankeun sarua anjeun ngaranna file konfigurasi, jadi demi conto ieu robah jadi [mypool] . Upami anjeun henteu ngarobih éta, sigana PHP-FPM ngan ukur bakal ngamuat file konfigurasi anu munggaran kalayan nami éta, anu kamungkinan ngarusak hal-hal.

Anjeun teras kedah ngarobih stop kontak atanapi alamat anu anjeun dengekeun, anu didefinisikeun ku diréktif ngadangukeun . Sacara standar, PHP-FPM nganggo sockets Unix sahingga diréktif ngadangukeun anjeun sigana sapertos kieu:

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

Anjeun tiasa ngarobih kana naon waé nami anu sah anu anjeun pikahoyong, tapi deui, kuring nyarankeun nempel sareng anu sami sareng nami file konfigurasi, ku kituna anjeun tiasa contona nyetél ka:

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

Janten, simpen file sareng kaluar tina pangropéa téksu.


Bagian 2 - Apdet konfigurasi host virtual NGINX

Ayeuna anjeun kedah muka file host virtual NGINX sareng konfigurasi FastCGI anu anjeun hoyong robih kana kolam renang énggal - atanapi langkungna, sambungkeun kana stop kontak énggal.

Sacara standar dina Ubuntu 14.04, ieu disimpen dina /etc/nginx/sites-available, tapi ogé tiasa dihartikeun di tempat sanés. Anjeun panginten paling terang dimana konfigurasi host virtual anjeun ayana ;-)

Buka file konfigurasi anu relevan dina pangropéa téksu karesep anjeun sareng milarian diréktif fastcgi_pass (anu kedah aya dina kontéks lokasi) netepkeun stop kontak PHP-FPM. Anjeun kedah ngarobih nilai ieu supados cocog sareng konfigurasi kolam renang PHP-FPM énggal anu anjeun lakukeun dina léngkah hiji, janten neraskeun conto kami anjeun bakal ngarobih ieu:

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

Teras simpen sareng tutup file éta ogé. Anjeun ampir réngsé ayeuna.


Bagian 3 - Balikan deui PHP-FPM sareng NGINX

Pikeun nerapkeun parobahan konfigurasi anu anjeun lakukeun, balikan deui PHP-FPM sareng NGINX. Bisa jadi cukup pikeun ngamuat deui tinimbang balikan deui , tapi kuring manggihan eta rada hit sarta sono, gumantung kana setélan nu dirobah. Dina kasus nu tangtu, kuring hayang prosés anak PHP-FPM heubeul maot langsung, jadi restarting PHP-FPM ieu diperlukeun, tapi pikeun NGINX reload bisa jadi cukup. Coba eta kaluar pikeun diri.

sudo service php5-fpm restart
sudo service nginx restart

Sareng voila, anjeun parantos réngsé. Upami anjeun leres-leres ngalakukeun sadayana, host virtual anu anjeun modifikasi ayeuna kedah nganggo kolam renang PHP-FPM énggal sareng henteu ngabagi prosés anak sareng host virtual anu sanés.

Bagikeun on BlueskyBagikeun dina FacebookBagikeun on LinkedInBagikeun dina TumblrBagikeun harga XBagikeun on LinkedInPin on Pinterest

Mikkel Bang Christensen

Ngeunaan Pangarang

Mikkel Bang Christensen
Mikkel mangrupikeun panyipta sareng pamilik miklix.com. Anjeunna gaduh pangalaman langkung ti 20 taun salaku programmer komputer / pamekar software profésional sareng ayeuna padamelan full-time pikeun korporasi IT Éropa anu ageung. Nalika henteu ngeblog, anjeunna nyéépkeun waktos luangna dina sajumlah ageung minat, hobi, sareng kagiatan, anu tiasa ditingali dina rupa-rupa topik anu aya dina halaman wéb ieu.