Nginx'te PHP-FPM Durumu Nasıl Etkinleştirilir ve İzlenir


PHP-FPM (FastCGI Süreç Yöneticisi), her boyuttaki web sitesi için yararlı olan bir dizi ekstra özellik ile birlikte gelen alternatif bir PHP FastCGI uygulamasıdır. özellikle yüksek trafik alan siteler.

Yaygın olarak LEMP (Linux Nginx MySQL/MariaDB PHP) yığınında kullanılır; Nginx, bir ağ üzerinde dinamik HTTP içeriği sunmak için PHP FastCGI'yi kullanır. İnternetteki web sunucularındaki yüzlerce web sitesine yönelik milyonlarca PHP isteğini karşılamak için kullanılıyor.

Ayrıca Okuyun: NGINX Durum Sayfası Nasıl Etkinleştirilir?

php-fpm'nin kullanışlı özelliklerinden biri, durumunu izlemenize yardımcı olabilecek yerleşik durum sayfasıdır. Bu makalede Linux'ta PHP-FPM durum sayfasının nasıl etkinleştirileceğini göstereceğiz.

Linux'ta PHP-FPM Durum Sayfası Nasıl Etkinleştirilir

Öncelikle php-fpm yapılandırma dosyasını açın ve gösterildiği gibi durum sayfasını etkinleştirin.

sudo vim /etc/php-fpm.d/www.conf 
OR
sudo vim /etc/php/7.2/fpm/pool.d/www.conf	#for PHP versions 5.6, 7.0, 7.1

Bu dosyanın içinde, ekran görüntüsünde gösterildiği gibi pm.status_path=/status değişkenini bulun ve açıklamasını kaldırın.

Değişiklikleri kaydedin ve dosyadan çıkın.

Daha sonra aşağıdaki komutu çalıştırarak PHP-FPM yapılandırma dosyasında herhangi bir hata olup olmadığını kontrol edin.

sudo php-fpm -t
OR
sudo php7.2-fpm -t

Daha sonra son değişiklikleri uygulamak için PHP-FPM hizmetini yeniden başlatın.

sudo systemctl restart php-fpm
OR
sudo systemctl restart php7.2-fpm

Ardından, varsayılan sunucu bloğu (sanal ana bilgisayar) yapılandırma dosyanızı düzenleyin ve aşağıdaki konum bloğunu bu dosyaya ekleyin. Örneğin test sisteminde, varsayılan sunucu bloğunun yapılandırma dosyası test.lab sitesi için /etc/nginx/conf.d/default.conf şeklindedir.

sudo vim /etc/nginx/conf.d/default.conf 

Eklenecek konum bloğu buradadır. Bu yapılandırmada, güvenlik nedenleriyle allow 127.0.0.1 direktifini kullanarak yalnızca localhost içindeki PHP-FPM işlem durumuna erişime izin verdik.

location ~ ^/(status|ping)$ {
        allow 127.0.0.1;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_index index.php;
        include fastcgi_params;
        #fastcgi_pass 127.0.0.1:9000;
        fastcgi_pass   unix:/var/run/php7.2-fpm.sock;
}

Dosyayı kaydedin ve kapatın.

Ardından yukarıdaki değişiklikleri uygulamak için Nginx sunucusunu yeniden başlatın.

sudo systemctl restart nginx

Şimdi bir tarayıcı açın ve PHP-FPM işlem durumunuzu görüntülemek için http://test.lab/status URL'sini yazın.

Alternatif olarak curl programını aşağıdaki gibi kullanın; burada -L bayrağı sayfanın konumunu belirtir.

curl -L http://test.lab/status

Varsayılan olarak durum sayfası yalnızca bir özet veya kısa durum yazdırır. Her havuz işleminin durumunu görüntülemek için sorgu dizesine “dolu” iletin, örneğin:

http://www.foo.bar/status?full

Çıktı formatını (JSON, HTML veya XML) gösterildiği gibi tanımlayabilirsiniz.

http://www.foo.bar/status?json&full
http://www.foo.bar/status?html&full
http://www.foo.bar/status?xml&full

Her işlem için php-fpm tam durumunda döndürülen değerler aşağıda verilmiştir:

  • pid – Sürecin PID'si.
  • İşlemin durum durumu (boşta, çalışıyor vb.).
  • başlangıç zamanı – sürecin başladığı tarih ve saat.
  • başlangıç – işlemin başlamasından bu yana geçen saniye sayısı.
  • istekler – sürecin sunduğu isteklerin sayısı.
  • istek süresi – isteklerin µs cinsinden süresi.
  • istek yöntemi – istek yöntemi (GET, POST vb.).
  • istek URI'si – sorgu dizesini içeren istek URI'si.
  • içerik uzunluğu – isteğin içerik uzunluğu (yalnızca POST ile).
  • kullanıcı – kullanıcı (PHP_AUTH_USER) (veya ayarlanmadıysa '-').
  • komut dosyası – ana komut dosyası çağrılır (veya ayarlanmamışsa '-').
  • son istek işlemcisi – tüketilen son isteğin %cpu'su (işlem Boşta durumunda değilse her zaman 0 olduğunu unutmayın).
  • son istek belleği – son isteğin tükettiği maksimum bellek miktarı (işlem Boşta durumunda değilse her zaman 0'dır).

Şimdilik bu kadar! Bu yazımızda Nginx web sunucusu altında php-fpm durum sayfasının nasıl etkinleştirileceğini anlattık. Düşüncelerinizi bizimle paylaşmak için aşağıdaki geri bildirim formunu kullanın.