|
Son birkaç gündür, internette Nginx 502 ile ilgili birçok sorun oldu ve başta birçok kişi gibi bunun Nginx ile ilgili bir sorun olduğunu düşündüm.
Web nginx+php mimarisini kullanıyor ve web sitesi uzun zamandır çevrimiçi değil, bu yüzden optimizasyon temelde sadece bir başlangıç yapılandırmasıdır.
Kontrol php-fpm.log uyarılar buldum, ki bu da sitenin askıya alındığı zamanla aynı zamana denk geliyordu. Buradan başlayacağım.
İlk başta bazı belgeler aradım ama ertesi gün yine bir sorun vardı. Daha sonra yapılandırma dosyasını kontrol ettim ve çevirdim (Baidu), İngilizce temel iyi değildi. PM modülü, Apache'nin modülüne benzer; modül statik ve dinamiktir.
İnternette bahsedilen birçok ayarlama çoğunlukla dinamiklere dayanıyor, ancak bu modülün nasıl tanımlanacağı belirtilmiyor. Bu yüzden dinamik ve statik kullanırken herkes yapılandırma dosyasına daha yakından bakmalı pm = statik
; pm 'statik' olarak ayarlandığında oluşturulacak alt işlem sayısı ve
; PM 'dinamik' veya 'talep üzeri' olarak ayarlandığında maksimum çocuk işlem sayısı.
; Bu değer, eşzamanlı istek sayısının sınırını belirler
; Servis edildi. ApacheMaxClients direktifine eşdeğer mpm_prefork.
; Orijinal PHP'deki PHP_FCGI_CHILDREN ortam değişkenine eşdeğerdir
; CGI. Aşağıdaki varsayılanlar, çok fazla kaynağı olmayan bir sunucuya dayanıyor. Yapma
; PM.*'i ihtiyaçlarınıza göre ayarlamayı unutun.
; Not: PM 'statik', 'dinamik' veya 'ondemand' olarak ayarlandığında kullanılır
; Not: Bu değer zorunludur.
pm.max_çocuk = 300
; Başlangıçta oluşturulan alt işlem sayısı.
; Not: Sadece pm 'dinamik' olarak ayarlandığında kullanılır
; Varsayılan Değer: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
;p m.start_servers = 50
; İstenen minimum boşta sunucu işlemi sayısı.
; Not: Sadece pm 'dinamik' olarak ayarlandığında kullanılır
; Not: pm 'dinamik' olarak ayarlandığında zorunludur
;p m.min_spare_servers = 20
; İstenen maksimum boşta sunucu işlemi sayısı.
; Not: Sadece pm 'dinamik' olarak ayarlandığında kullanılır
; Not: pm 'dinamik' olarak ayarlandığında zorunludur
;pm.max_spare_servers = 500
; Boşta bir işlemin kaç saniyeden sonra sona ereceği.
; Not: Sadece pm 'ondemand' olarak ayarlandığında kullanılır
; Varsayılan Değer: 10 saniye
pm.process_idle_timeout = 10'lar;
; Her çocuğun yeniden doğmadan önce işlemesi gereken istek sayısı.
; Bu, üçüncü parti kütüphanelerdeki bellek sızıntılarını aşmak için faydalı olabilir. Çünkü
; Sonsuz istek işleme '0' belirtin. PHP_FCGI_MAX_REQUESTS eşdeğer.
; Varsayılan Değer: 0
pm.max_requests = 10240
Kırmızı alan, bunu tanımlamanın ve ardından parametreleri sunucu durumuna göre ayarlamanın yoludur
Statik pm.max_children parametresini kullanırsanız çalışır, diğerleri çalışamaz. Dinamikler tam tersi.
2G bellek pm.max_children yaklaşık 50 açıktır ve bu duruma göre ayarlama yapmak için gereklidir.
Herhangi bir eksiklik varsa, görüşlerinizi paylaşmanızı isterim, 502 çözümleri.
|