VestaCP phpfcgid şablon yapılandırma sürecini optimize etme çoklu bellek tükenmesi 500 hatası

VestaCP WEB hizmeti "phpfcgid" şablonunu seçtikten sonra, çok sayıda PHP-CGI işlemi belleğin hızla tükenmesine neden olur:

  • Sunucuyu yeniden başlattıktan sonra birkaç saatliğine temel olarak hafızam tükeniyordu.
  • Önceden boşta olan PHP-CGI işlemi sonlandırılmaz ve bir işlem, en az 1M bellek tüketen yaklaşık 20 alt işlemi çalıştırır.

SSH'de kullanılır htop komutu (kurulum gerekli), bu durumu görüntüleyebilirsiniz ▼

VestaCP'nin WEB servisi "phpfcgid" şablonunu seçtikten sonra, çok sayıda PHP-CGI işlemi belleğin hızla tükenmesine neden olur.

htop komutunu kullandığınızda "-bash: htop: komut bulunamadı" hata mesajı alırsanız, lütfen çözüm için bu eğiticiye bakın ▼

Çok sayıda PHP-CGI işlemi, belleğin hızla tükenmesine neden olur.Sorun VestaCP'de yatmaktadır.CentOSphpfcgid şablonunda optimize edilmemiş bir konfigürasyon kullanılır.

  • phpfcgid şablonundaki VestaCP, 1'ye kadar alt işlemi çalıştırmak için 20 PHP-CGI işlemi ayarlayın.

Görmek /usr/local/vesta/data/templates/web/httpd/phpfcgid.sh Dosyanın 13. satırı:

export PHP_FCGI_CHILDREN=20

Ancak, böyle bir kurulum, Apache'nin PHP alt süreç yönetimi belgelerindeki uyarısını ihlal eder:

PHP alt süreç yönetimi (PHP_FCGI_CHILDREN) mod_fcgid ile her zaman devre dışı bırakılmalıdır, bu mod_fcgid ile bir seferde yalnızca bir isteği kendi oluşturduğu uygulama işlemlerine yönlendirir, bu nedenle PHP tarafından oluşturulan herhangi bir alt işlem etkin bir şekilde kullanılmayacaktır.(Ayrıca, PHP alt işlemleri düzgün sonlandırılamayabilir. .) Varsayılan olarak ve ortam değişkeni ayarıyla PHP_FCGI_CHILDREN=0, PHP alt süreç yönetimi devre dışı bırakıldı.

Apache'nin mod_fcgid modülünde PHP-CGI işlemi yalnızca bir isteğe yanıt verebildiğinden ve aynı anda çalıştırılabildiğinden, PHP-CGI alt işlemi çok verimsizdir.

Bu nedenle, PHP alt süreç yönetimi ayarları doğrudan devre dışı bırakılmalıdır ▼

PHP_FCGI_CHILDREN=0

Aynı zamanda, zaten oluşturulmuş bir sanal ana makineniz varsa, tüm web sitelerinin yapılandırma dosyalarını değiştirmeniz gerekir ▼

/home/用户名/web/域名/cgi-bin/fcgi-starter

fcgi-starter yapılandırma dosyasını açtıktan sonra aşağıdakini ekleyin ▼

export PHP_FCGI_CHILDREN=20

▼ olarak değiştir

export PHP_FCGI_CHILDREN=0
  • Değişiklikten sonra, PHP alt süreç yönetimi mod_fcgid kipinde kapatılacaktır.
  • PHP-CGI işlemi artık çok fazla bellek tasarrufu sağlayabilecek alt işlemler üretmeyecek.

Ayrıca VestaCP, boştaki işlemler için bir sonlandırma mekanizması belirlemez:

  • Yeni yürütülen tüm PHP-CGI işlemleri, sistem yeniden başlatılıncaya kadar belleği kullanmaya devam edecektir.

Bunu düzeltmek için mod_fcgid yapılandırma dosyasını eklemeniz yeterlidir. /etc/httpd/conf.d/fcgid.conf ▼ içine aşağıdaki ayarları ekleyin

FcgidIdleTimeout 120
  • Apache'yi 2 dakika (120 saniye) boşta olan PHP-CGI işlemlerini otomatik olarak sonlandıracak şekilde ayarlayın.

Kurulum tamamlandıktan sonra Apache hizmetini yeniden başlatın ▼

service httpd restart

Hizmet yeniden başlatıldıktan sonra, daha önce HTOP'ta görüntülenen yüzlerce PHP-CGI işlemi artık görüntülenmeyecektir.

Tipik olarak, tek bir Vesta CP kullanıcısı için tek bir PHP-CGI işlemi 30 ila 40M bellek tüketir ve bu da tam olarak tatmin edicidir.Linuxana bilgisayar gereksinimleri.

dolayısıyla,İnternet pazarlamacılığıinsanlar iyi yapmak isterSEO, Vesta CP ve şablonlarının konfigürasyonunu optimize etmek çok önemlidir ^_^

Aşağıdaki eğitimlere VestaCP panelinden göz atabilirsiniz ▼

发表 评论

E-posta adresiniz yayımlanmayacaktır. 必填 项 已 用 * 标注

En gidin