Cara Nggawe Kolam PHP-FPM Pisah ing NGINX
Diterbitake: 15 Februari 2025 ing 11:54:46 UTC
Dianyari pungkasan: 12 Januari 2026 ing 08:30:18 UTC
Ing artikel iki, aku bakal ngrembug langkah-langkah konfigurasi sing dibutuhake kanggo mbukak pirang-pirang pool PHP-FPM lan nyambungake NGINX menyang pool kasebut liwat FastCGI, sing ngidini pamisahan proses lan isolasi antarane host virtual.
How to Set Up Separate PHP-FPM Pools in NGINX
Informasi ing kiriman iki adhedhasar NGINX 1.4.6 lan PHP-FPM 5.5.9 sing mlaku ing Ubuntu Server 14.04 x64. Iki bisa uga valid utawa ora valid kanggo versi liyane. (Nganyari: Aku bisa ngonfirmasi manawa wiwit Ubuntu Server 24.04, PHP-FPM 8.3 lan NGINX 1.24.0, kabeh pandhuan ing kiriman iki isih bisa digunakake)
Ana sawetara kaluwihan nyetel pirang-pirang kumpulan proses anak PHP-FPM tinimbang mbukak kabeh ing kumpulan sing padha. Keamanan, pamisahan/isolasi, lan manajemen sumber daya muncul minangka sawetara kaluwihan utama.
Apa wae motivasimu, postingan iki bakal mbantu kowe nglakoni :-)
Bagean 1 – Nyetel kumpulan PHP-FPM anyar
Kapisan, sampeyan kudu nemokake direktori ing ngendi PHP-FPM nyimpen konfigurasi pool-e. Ing Ubuntu 14.04, iki minangka /etc/php5/fpm/pool.d minangka standar. Mbok menawa wis ana file ing kana sing diarani www.conf, sing nyimpen konfigurasi kanggo pool standar. Yen sampeyan durung nate ndeleng file kasebut sadurunge, kemungkinan sampeyan kudu mriksa lan nyetel setelan ing njero kanggo persiyapan sampeyan amarga standar kanggo server sing kurang daya, nanging saiki mung gawe salinane supaya kita ora kudu miwiti saka awal:
Mesthi wae, ganti "mypool" karo jeneng apa wae sing sampeyan karepake kanggo jeneng pool sampeyan.
Saiki bukak file anyar nganggo nano utawa editor teks apa wae sing disenengi lan atur supaya cocog karo tujuane. Sampeyan mbokmenawa pengin ngowahi nomer proses anak lan bisa uga pangguna lan grup endi sing digunakake kanggo mbukak pool, nanging rong setelan sing kudu diganti yaiku jeneng pool lan soket sing dirungokake, yen ora bakal konflik karo pool sing wis ana lan kabeh bakal mandheg bisa digunakake.
Jeneng blumbang kasebut ana ing cedhak sisih ndhuwur berkas, dilebokake ing kurung siku. Sacara standar yaiku [www]. Ganti iki dadi apa wae sing dikarepake; Aku saranake padha karo jeneng berkas konfigurasi, mula kanggo conto iki ganti dadi [mypool]. Yen sampeyan ora ngganti, katone PHP-FPM mung bakal mbukak berkas konfigurasi pisanan nganggo jeneng kasebut, sing bisa uga bakal ngrusak kabeh.
Sampeyan banjur kudu ngganti soket utawa alamat sing lagi dirungokake, sing ditetepake dening direktif listen. Kanthi gawan, PHP-FPM nggunakake soket Unix saengga direktif listen sampeyan mbokmenawa bakal katon kaya iki:
Sampeyan bisa ngganti dadi jeneng apa wae sing dikarepake, nanging maneh, aku saranake tetep nganggo jeneng sing padha karo jeneng file konfigurasi, supaya sampeyan bisa contone nyetel dadi:
Oke, simpen file kasebut lan metu saka editor teks.
Bagean 2 – Nganyari konfigurasi host virtual NGINX
Saiki sampeyan kudu mbukak file virtual host NGINX nganggo konfigurasi FastCGI sing pengin diganti dadi pool anyar - utawa luwih tepaté, sambungake menyang soket anyar.
Sacara standar ing Ubuntu 14.04, iki disimpen ing /etc/nginx/sites-available, nanging uga bisa ditetepake ing papan liya. Sampeyan mbokmenawa luwih ngerti ngendi konfigurasi virtual host sampeyan dumunung ;-)
Bukak file konfigurasi sing cocog ing editor teks favoritmu lan goleki direktif fastcgi_pass (sing kudu ana ing konteks lokasi) sing nemtokake soket PHP-FPM. Kowé kudu ngganti nilai iki supaya cocog karo konfigurasi pool PHP-FPM anyar sing wis kokgawe ing langkah siji, mula terusake conto iki, kowé bakal ngganti iki dadi:
Fastcgi_pass unix:/var/run/php5-fpm-mypool.sock;
Banjur simpen lan tutup file kasebut uga. Saiki wis meh rampung.
Bagean 3 – Wiwiti maneh PHP-FPM lan NGINX
Kanggo ngetrapake pangowahan konfigurasi sing wis digawe, miwiti maneh PHP-FPM lan NGINX. Bisa uga cukup mung ngunggah ulang tinimbang miwiti maneh, nanging aku nemokake iki rada angel, gumantung saka setelan sing diganti. Ing kasus tartamtu, aku pengin proses turunan PHP-FPM lawas langsung mati, mula miwiti maneh PHP-FPM dibutuhake, nanging kanggo NGINX ngunggah ulang bisa uga cukup. Cobanen dhewe.
sudo service nginx restart
Lan voila, wis rampung. Yen sampeyan nindakake kabeh kanthi bener, host virtual sing sampeyan modifikasi saiki kudune nggunakake kumpulan PHP-FPM anyar lan ora nuduhake proses turunan karo host virtual liyane.
