PHP-FPM’i Yeniden Başlatmanın Farklı Yolları
PHP-FPM (PHP FastCGI Process Manager) PHP için güçlü ve yaygın olarak kullanılan bir süreç yöneticisidir, genellikle hızı ve yüksek trafikli web sitelerini idare etme yeteneği nedeniyle tercih edilir. PHP-FPM’nin nasıl yeniden başlatılacağını bilmek, özellikle PHP yapılandırmalarında değişiklik yaparken, sorunları çözerken veya rutin bakım gerçekleştirirken geliştiriciler ve sistem yöneticileri için çok önemlidir. Bu makalede, PHP-FPM’i farklı sistemlerde ve farklı ortamlarda yeniden başlatmak için çeşitli yöntemleri inceleyeceğiz.
PHP-FPM Neden Yeniden Başlatılmalı?
Yöntemlere geçmeden önce, PHP-FPM’i yeniden başlatmanın neden gerekli olabileceğini kısaca tartışalım:
- Yapılandırma Değişiklikleri: Php.ini veya php-fpm.conf dosyalarındaki PHP ayarlarını değiştirirseniz, değişikliklerin etkili olması için yeniden başlatma gerekir.
- Performans Optimizasyonu: PHP-FPM’nin yeniden başlatılması, özellikle yüksek trafikli sitelerde bellek ve kaynakların boşaltılmasına yardımcı olabilir.
- Hata Çözümü: PHP-FPM sorunlarla karşılaşırsa veya yanıt vermez hale gelirse, yeniden başlatma geçici aksaklıkların çözülmesine yardımcı olabilir.
- Günlük Döndürme: PHP-FPM için günlük dosyalarını döndürdükten sonra, yeni günlüklerin düzgün bir şekilde yazıldığından emin olmak için yeniden başlatma gerekebilir.
Ön Koşullar
Sunucunuzdaki hizmetleri yeniden başlatmak için root erişimine veya gerekli ayrıcalıklara sahip olduğunuzdan emin olun. Linux dağıtımınıza bağlı olarak systemctl veya service gibi farklı komutlar kullanabilirsiniz.
Yöntem 1: systemctl kullanma
Ubuntu 16.04 ve CentOS 7 gibi modern Linux dağıtımlarında systemctl, PHP-FPM de dahil olmak üzere hizmetleri yönetmek için standart yöntemdir. PHP-FPM’i systemctl kullanarak şu şekilde yeniden başlatabilirsiniz:
PHP-FPM’yi yeniden başlatın
Bu komut PHP-FPM hizmetini yeniden başlatacak ve yeni yapılandırma değişikliklerini uygulayacaktır.
PHP-FPM’yi Durdurma ve Başlatma
Daha fazla kontrol istiyorsanız, PHP-FPM’yi manuel olarak durdurabilir ve başlatabilirsiniz:
sudo systemctl start php-fpm
Tekrar başlatmadan önce hizmetin tamamen durdurulduğundan emin olmanız gerekiyorsa bu yararlı olabilir.
Durumu Kontrol Et
PHP-FPM’nin başarıyla yeniden başlatıldığından emin olmak için
Bu, etkin olup olmadığı ve son günlük iletileri de dahil olmak üzere PHP-FPM hizmetinin durumunu gösterecektir.
Yöntem 2: Servis Komutunu Kullanma
Service komutu genellikle eski Linux dağıtımlarında veya geriye dönük uyumluluk için kullanılır. PHP-FPM’i servis kullanarak nasıl yeniden başlatacağınız aşağıda açıklanmıştır:
Ya da hizmeti ayrı ayrı durdurmak ve başlatmak için:
sudo service php-fpm start
Yöntem 3: Belirli PHP-FPM Sürümlerini Yeniden Başlatma
Birden fazla PHP sürümü yüklüyse, yeniden başlatmak istediğiniz PHP-FPM sürümünü belirtmeniz gerekir. Örneğin, PHP 7.4 yüklüyse, aşağıdaki komutu kullanın:
Ya da servisle:
Bu yöntem özellikle farklı uygulamalar veya web siteleri için farklı PHP sürümlerinin gerekli olduğu ortamlar için kullanışlıdır.
Yöntem 4: Sinyalleri Doğrudan PHP-FPM’ye Gönderme
Hizmeti tamamen yeniden başlatmadan yapılandırmaları yeniden yüklemek için PHP-FPM’ye doğrudan sinyal gönderebilirsiniz. Bu, web trafiğinize daha az zarar verebilecek daha ince bir yaklaşımdır:
Yapılandırmayı Yeniden Yükle
PHP-FPM yapılandırmasını mevcut süreçleri sonlandırmadan yeniden yüklemek için
Eğer farklıysa /run/php/php-fpm.pid dosyasını gerçek PID dosyanızın yolu ile değiştirin. Bu yöntem, tüm PHP-FPM süreçlerini yeniden başlatmadan yapılandırma değişikliklerini yeniden yüklemek istediğinizde kullanışlıdır.
Zarif Yeniden Başlatma
Zararsız yeniden başlatma PHP-FPM’in yeniden başlatılmadan önce devam eden isteklere hizmet vermeyi bitirmesini sağlar:
Bu, özellikle aktif kullanıcı oturumlarını kesintiye uğratmaktan kaçınmak istediğiniz üretim ortamlarında faydalıdır.
Yöntem 5: pkill veya killall kullanma
PHP-FPM ile sorun yaşıyorsanız ve tüm işlemleri zorla durdurmanız gerekiyorsa, pkill veya killall kullanabilirsiniz. Bu daha agresif bir yöntemdir ve dikkatli kullanılmalıdır:
Ya da:
İşlemleri sonlandırdıktan sonra PHP-FPM’i manuel olarak başlatmanız gerekir:
Yöntem 6: Nginx veya Apache Yeniden Başlatmayı Kullanma
Bazı durumlarda, web sunucunuzu yeniden başlatmak, web sunucusunun sürecine sıkı sıkıya bağlıysa PHP-FPM’yi dolaylı olarak yeniden başlatabilir. İşte bunu nasıl yapabileceğiniz:
Nginx
Apaçi
Bu yöntem PHP-FPM’ye özgü sorunlar için önerilmese de, tüm web yığınınızda bakım yapıyorsanız yararlı olabilir.
PHP-FPM’yi Yeniden Başlatmak için En İyi Uygulamalar
- Günlükleri Kontrol Edin: Yeniden başlatmadan önce, herhangi bir hata veya uyarı için PHP-FPM günlüklerini kontrol edin. Bu, yeniden başlatma olmadan çözülebilecek altta yatan sorunların belirlenmesine yardımcı olabilir.
- Üretimde Zararsız Yeniden Başlatmalar: Kullanıcıları rahatsız etmemek için üretim ortamında her zaman zarif bir yeniden başlatmayı tercih edin.
- Kaynak Kullanımını İzleyin: PHP-FPM süreçlerini yeniden başlatmadan önce ve sonra izlemek için top, htop veya ps gibi araçlar kullanarak beklendiği gibi çalıştığından emin olun.
Sonuç
PHP-FPM’i yeniden başlatmak, her sunucu yöneticisi veya geliştiricisinin aşina olması gereken ortak bir görevdir. İster systemctl, ister servis, ister sinyal gönderme, isterse de zarif bir yeniden başlatma gerçekleştirin, durumunuz için doğru yöntemi bilmek sorunsuz performans ve hizmetlerinizde minimum kesinti sağlayabilir. En iyi uygulamaları izleyerek PHP-FPM’nizin verimli bir şekilde çalışmasını sağlayabilir ve ortaya çıkabilecek sorunları güvenle ele alabilirsiniz.