Miklix

NGINX'te Ayrı PHP-FPM Havuzları Nasıl Kurulur

Yayınlandı: 15 Şubat 2025 11:53:07 UTC
Son güncelleme: 12 Ocak 2026 08:30:08 UTC

Bu makalede, birden fazla PHP-FPM havuzunu çalıştırmak ve NGINX'i FastCGI aracılığıyla bunlara bağlamak için gereken yapılandırma adımlarını ele alacağım; bu sayede sanal sunucular arasında işlem ayrımı ve izolasyonu sağlanacaktır.


Bu sayfa, mümkün olduğunca çok kişi tarafından erişilebilir olması amacıyla İngilizce'den makine çevirisiyle çevrilmiştir. Ne yazık ki, makine çevirisi henüz mükemmelleştirilmiş bir teknoloji değildir, bu nedenle hatalar meydana gelebilir. Tercih ederseniz, orijinal İngilizce versiyonu buradan görüntüleyebilirsiniz:

How to Set Up Separate PHP-FPM Pools in NGINX

Bu yazıda yer alan bilgiler, Ubuntu Server 14.04 x64 üzerinde çalışan NGINX 1.4.6 ve PHP-FPM 5.5.9 sürümlerine dayanmaktadır. Diğer sürümler için geçerli olmayabilir. (Güncelleme: Ubuntu Server 24.04, PHP-FPM 8.3 ve NGINX 1.24.0 sürümlerinde bu yazıda yer alan tüm talimatların hala çalıştığını doğrulayabilirim.)

Her şeyi aynı havuzda çalıştırmak yerine birden fazla PHP-FPM alt işlem havuzu kurmanın birçok avantajı vardır. Güvenlik, ayrıştırma/izolasyon ve kaynak yönetimi akla gelen başlıca avantajlardan bazılarıdır.

Motivasyonunuz ne olursa olsun, bu yazı size yardımcı olacaktır :-)

Bölüm 1 – Yeni bir PHP-FPM havuzu oluşturma

Öncelikle, PHP-FPM'nin havuz yapılandırmalarını sakladığı dizini bulmanız gerekiyor. Ubuntu 14.04'te bu varsayılan olarak /etc/php5/fpm/pool.d'dir. Orada muhtemelen zaten www.conf adlı bir dosya vardır ve bu dosya varsayılan havuzun yapılandırmasını içerir. Bu dosyaya daha önce bakmadıysanız, varsayılan ayarlar oldukça düşük performanslı bir sunucu için olduğundan, içindeki ayarları kendi kurulumunuza göre düzenlemeniz gerekebilir, ancak şimdilik sıfırdan başlamamak için bir kopyasını oluşturun:

sudo cp www.conf mypool.conf

Elbette, "mypool" yerine havuzunuzun adını istediğiniz gibi yazabilirsiniz.

Şimdi nano veya tercih ettiğiniz herhangi bir metin düzenleyiciyi kullanarak yeni dosyayı açın ve amacınıza uygun şekilde ayarlayın. Muhtemelen alt işlem numaralarını ve havuzun hangi kullanıcı ve grup altında çalıştığını değiştirmek isteyeceksiniz, ancak mutlaka değiştirmeniz gereken iki ayar havuzun adı ve dinlediği sokettir; aksi takdirde mevcut havuzla çakışacak ve işler duracaktır.

Havuzun adı dosyanın en üstünde, köşeli parantezler içinde yer almaktadır. Varsayılan olarak [www] şeklindedir. Bunu istediğiniz gibi değiştirebilirsiniz; yapılandırma dosyasını adlandırdığınız gibi, bu örnek için [mypool] olarak değiştirmenizi öneririm. Değiştirmezseniz, PHP-FPM'nin yalnızca bu ada sahip ilk yapılandırma dosyasını yükleyeceği ve bunun da sorunlara yol açabileceği anlaşılıyor.

Ardından, `listen` yönergesiyle tanımlanan, dinlediğiniz soketi veya adresi değiştirmeniz gerekir. Varsayılan olarak, PHP-FPM Unix soketlerini kullanır, bu nedenle `listen` yönergeniz muhtemelen şöyle görünecektir:

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

İstediğiniz geçerli bir isimle değiştirebilirsiniz, ancak yine de yapılandırma dosya adıyla benzer bir şey kullanmanızı öneririm; örneğin şöyle bir şey ayarlayabilirsiniz:

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

Pekala, dosyayı kaydedin ve metin düzenleyicisinden çıkın.

Bölüm 2 – NGINX sanal sunucu yapılandırmasının güncellenmesi

Şimdi, değiştirmek istediğiniz FastCGI yapılandırmasına sahip NGINX sanal sunucu dosyasını açmanız veya daha doğrusu yeni sokete bağlanmanız gerekiyor.

Ubuntu 14.04'te varsayılan olarak bunlar /etc/nginx/sites-available altında saklanır, ancak başka bir yerde de tanımlanabilirler. Sanal sunucu yapılandırmalarınızın nerede bulunduğunu muhtemelen en iyi siz biliyorsunuzdur ;-)

İlgili yapılandırma dosyasını favori metin düzenleyicinizde açın ve PHP-FPM soketini tanımlayan fastcgi_pass yönergesini (bir konum bağlamında olmalıdır) arayın. Bu değeri, birinci adımda oluşturduğunuz yeni PHP-FPM havuz yapılandırmasıyla eşleşecek şekilde değiştirmeniz gerekir; örneğimize devam edersek, bunu şu şekilde değiştirmeniz gerekir:

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

Ardından bu dosyayı da kaydedip kapatın. Artık neredeyse işiniz bitti.

Bölüm 3 – PHP-FPM ve NGINX'i Yeniden Başlatma

Yaptığınız yapılandırma değişikliklerini uygulamak için hem PHP-FPM'yi hem de NGINX'i yeniden başlatın. Yeniden başlatmak yerine yeniden yüklemek de yeterli olabilir, ancak hangi ayarların değiştirildiğine bağlı olarak biraz tutarsız sonuçlar verdiğini düşünüyorum. Bu özel durumda, eski PHP-FPM alt süreçlerinin hemen sonlanmasını istediğim için PHP-FPM'yi yeniden başlatmak gerekiyordu, ancak NGINX için yeniden yükleme yeterli olabilir. Kendiniz deneyin.

sudo service php5-fpm restart
sudo service nginx restart

Ve işte, işlem tamamlandı. Her şeyi doğru yaptıysanız, değiştirdiğiniz sanal sunucu artık yeni PHP-FPM havuzunu kullanıyor olmalı ve alt süreçleri başka hiçbir sanal sunucuyla paylaşmıyor olmalıdır.

Bluesky'de paylaşFacebook'ta paylaşLinkedIn'de paylaşTumblr'da paylaşX'te paylaşLinkedIn'de paylaşPinterest'e Pinleyin

Mikkel Christensen

Yazar Hakkında

Mikkel Christensen
Mikkel miklix.com'un yaratıcısı ve sahibidir. Profesyonel bilgisayar programcısı/yazılım geliştiricisi olarak 20 yılı aşkın deneyime sahiptir ve şu anda büyük bir Avrupa BT şirketinde tam zamanlı olarak çalışmaktadır. Blog yazmadığı zamanlarda, boş zamanlarını çok çeşitli ilgi alanları, hobiler ve aktivitelerle geçirmektedir ve bu da bir dereceye kadar bu web sitesinde kapsanan konuların çeşitliliğine yansıyabilir.