VestaCP WEB xidməti "phpfcgid" şablonunu seçdikdən sonra çoxlu sayda PHP-CGI prosesləri yaddaşın tez tükənməsinə səbəb olur:
- Serveri yenidən başlatdıqdan sonra bir neçə saat yaddaşım tükənirdi.
- Əvvəllər boş olan PHP-CGI prosesi məhv edilmir və bir proses ən azı 1M yaddaş sərf edən 20-yə yaxın alt proses işlədir.
SSH-də istifadə olunur htop
əmri (quraşdırma tələb olunur), bu statusa baxa bilərsiniz ▼
Əgər htop əmrindən istifadə edərkən "-bash: htop: komanda tapılmadı" səhv mesajı alsanız, həll üçün bu təlimata baxın ▼
Çoxlu sayda PHP-CGI prosesləri yaddaşın tez tükənməsinə səbəb olur.Problem VestaCP-dədir.CentOSPhpfcgid şablonunda optimallaşdırılmamış konfiqurasiya istifadə olunur.
- phpfcgid şablonunda VestaCP, 1 uşaq prosesini işə salmaq üçün 20 PHP-CGI prosesi təyin edin.
görmək /usr/local/vesta/data/templates/web/httpd/phpfcgid.sh
Faylın 13-cü sətri:
export PHP_FCGI_CHILDREN=20
Bununla belə, belə bir quraşdırma PHP alt proseslərinin idarə edilməsi sənədlərindəki Apache xəbərdarlığını pozur:
PHP uşaq prosesinin idarə edilməsi (PHP_FCGI_CHILDREN) həmişə mod_fcgid ilə söndürülməlidir ki, bu da hər dəfə yalnız bir sorğunu onun yaratdığı tətbiq proseslərinə yönləndirəcək; beləliklə, PHP tərəfindən yaradılan hər hansı uşaq proseslər effektiv şəkildə istifadə edilməyəcək. (Əlavə olaraq, PHP uşaq prosesləri düzgün dayandırıla bilməz. .) Defolt olaraq və mühit dəyişkənliyi parametri ilə PHP_FCGI_CHILDREN=0, PHP uşaq prosesinin idarə edilməsi deaktiv edilib.
Çünki Apache-nin mod_fcgid modulunda PHP-CGI prosesi yalnız bir sorğuya cavab verə və eyni anda işləyə bilər, PHP-CGI uşaq prosesi çox səmərəsizdir.
Buna görə də, PHP alt proseslərinin idarə edilməsi üçün parametrlər birbaşa deaktiv edilməlidir ▼
PHP_FCGI_CHILDREN=0
Eyni zamanda, artıq yaradılmış virtual hostunuz varsa, bütün vebsaytların konfiqurasiya fayllarını dəyişdirməlisiniz ▼
/home/用户名/web/域名/cgi-bin/fcgi-starter
fcgi-starter konfiqurasiya faylını açdıqdan sonra aşağıdakı ▼ daxil edin
export PHP_FCGI_CHILDREN=20
▼ olaraq dəyişdirildi
export PHP_FCGI_CHILDREN=0
- Dəyişiklikdən sonra PHP alt prosesinin idarə edilməsi mod_fcgid rejimində söndürüləcək.
- PHP-CGI prosesi daha çox yaddaşa qənaət edə biləcək uşaq prosesləri yaratmayacaq.
Həmçinin, VestaCP boş proseslər üçün sonlandırma mexanizmi təyin etmir:
- Bütün yeni icra edilən PHP-CGI prosesləri sistem yenidən işə salınana qədər yaddaşdan istifadə etməyə davam edəcək.
Bunu düzəltmək üçün mod_fcgid konfiqurasiya faylını əlavə edin /etc/httpd/conf.d/fcgid.conf
▼-ə aşağıdakı parametrləri əlavə edin
FcgidIdleTimeout 120
- Apache-ni 2 dəqiqə (120 saniyə) boş qalan PHP-CGI proseslərini avtomatik öldürmək üçün təyin edin.
Quraşdırma tamamlandıqdan sonra Apache xidmətini ▼ yenidən başladın
service httpd restart
Xidmət yenidən işə salındıqdan sonra, əvvəllər HTOP-da göstərilən yüzlərlə PHP-CGI prosesi artıq göstərilməyəcək.
Tipik olaraq, bir Vesta CP istifadəçisi üçün tək bir PHP-CGI prosesi 30-40M yaddaş sərf edir və bu, tam təmin edir.Linuxhost tələbləri.
buna görə də网络 营销insanlar yaxşılıq etmək istəyirlərSEO, Vesta CP və şablonların konfiqurasiyasını optimallaşdırmaq çox vacibdir ^_^
Siz VestaCP panelində aşağıdakı dərsliklərə baxa bilərsiniz ▼
Hope Chen Weiliang Blogu ( https://www.chenweiliang.com/ ) sizin üçün faydalı olan "VestaCP phpfcgid Şablon Konfiqurasiya Prosesinin Çox Yaddaş Tükənməsi 500 Səhvinin Optimizasiyası" paylaşdı.
Bu məqalənin linkini paylaşmağa xoş gəlmisiniz:https://www.chenweiliang.com/cwl-735.html
Ən son yenilikləri əldə etmək üçün Chen Weiliang bloqunun Telegram kanalına xoş gəlmisiniz!
📚 Bu təlimatda böyük dəyər var, 🌟Bu nadir fürsətdir, qaçırmayın! ⏰⌛💨
Bəyəndinizsə paylaşın və bəyənin!
Paylaşımlarınız və bəyənmələriniz davamlı motivasiyamızdır!