VestaCP მას შემდეგ, რაც WEB სერვისი აირჩევს "phpfcgid" შაბლონს, PHP-CGI პროცესების დიდი რაოდენობა იწვევს მეხსიერების სწრაფად ამოწურვას:
- სერვერის გადატვირთვის შემდეგ, ძირითადად, მეხსიერების გამორთვა მქონდა რამდენიმე საათის განმავლობაში.
- ადრე უმოქმედო PHP-CGI პროცესი არ წყდება და ერთი პროცესი აწარმოებს თითქმის 1 ქვეპროცესს, რომელიც მოიხმარს მინიმუმ 20 მ მეხსიერებას.
გამოიყენება SSH-ში htop ბრძანება (საჭიროა ინსტალაცია), შეგიძლიათ ნახოთ ეს სტატუსი ▼

თუ თქვენ მიიღებთ შეცდომის შეტყობინებას "-bash: htop: ბრძანება ვერ მოიძებნა", როდესაც იყენებთ htop ბრძანებას, გთხოვთ იხილოთ ეს სახელმძღვანელო გადაწყვეტისთვის ▼
PHP-CGI პროცესების დიდი რაოდენობა იწვევს მეხსიერების სწრაფად ამოწურვას. პრობლემა მდგომარეობს VestaCP-ში.CentOSphpfcgid შაბლონში გამოიყენება არაოპტიმიზებული კონფიგურაცია.
- VestaCP phpfcgid შაბლონში დააყენეთ 1 PHP-CGI პროცესი 20-მდე ბავშვის პროცესის გასაშვებად.
იხ /usr/local/vesta/data/templates/web/httpd/phpfcgid.sh ფაილის მე-13 სტრიქონი:
export PHP_FCGI_CHILDREN=20
თუმცა, ასეთი დაყენება არღვევს Apache-ს გაფრთხილებას PHP ქვეპროცესის მართვის დოკუმენტაციაში:
PHP ბავშვის პროცესის მართვა (PHP_FCGI_CHILDREN) ყოველთვის უნდა იყოს გამორთული mod_fcgid-ით, რომელიც გადასცემს მხოლოდ ერთ მოთხოვნას ერთდროულად აპლიკაციის პროცესებისკენ, რომლებიც წარმოიშვა; ამდენად, PHP-ის მიერ შექმნილი ნებისმიერი შვილობილი პროცესი არ იქნება გამოყენებული ეფექტურად. .) ნაგულისხმევად და გარემოს ცვლადის პარამეტრით PHP_FCGI_CHILDREN=0, PHP ბავშვის პროცესის მართვა გამორთულია.
იმის გამო, რომ Apache-ს mod_fcgid მოდულში PHP-CGI პროცესს შეუძლია მხოლოდ ერთ მოთხოვნაზე პასუხის გაცემა და ერთდროულად გაშვება, PHP-CGI შვილობილი პროცესი ძალიან არაეფექტურია.
ამიტომ, PHP ქვეპროცესების მართვის პარამეტრები პირდაპირ ▼ უნდა გამორთოთ
PHP_FCGI_CHILDREN=0
ამავდროულად, თუ უკვე გაქვთ გენერირებული ვირტუალური ჰოსტი, თქვენ უნდა შეცვალოთ ყველა ვებსაიტის კონფიგურაციის ფაილი ▼
/home/用户名/web/域名/cgi-bin/fcgi-starter
fcgi-სტარტერის კონფიგურაციის ფაილის გახსნის შემდეგ ჩადეთ შემდეგი ▼
export PHP_FCGI_CHILDREN=20
შეცვლილია ▼
export PHP_FCGI_CHILDREN=0
- მოდიფიკაციის შემდეგ, PHP ქვეპროცესის მართვა გამოირთვება mod_fcgid რეჟიმში.
- PHP-CGI პროცესი აღარ წარმოქმნის შვილობილ პროცესებს, რამაც შეიძლება დაზოგოს ბევრი მეხსიერება.
ასევე, VestaCP არ ადგენს უმოქმედო პროცესების შეწყვეტის მექანიზმს:
- ყველა ახლად შესრულებული PHP-CGI პროცესი გააგრძელებს მეხსიერების გამოყენებას სისტემის გადატვირთვამდე.
ამის გამოსასწორებლად, უბრალოდ დაამატეთ mod_fcgid კონფიგურაციის ფაილი /etc/httpd/conf.d/fcgid.conf დაამატეთ შემდეგი პარამეტრები ▼-ში
FcgidIdleTimeout 120
- დააყენეთ Apache ავტომატურად კლავს PHP-CGI პროცესებს, რომლებიც უმოქმედოა 2 წუთის განმავლობაში (120 წამი).
დაყენების დასრულების შემდეგ გადატვირთეთ Apache სერვისი ▼
service httpd restart
სერვისის გადატვირთვის შემდეგ, ასობით PHP-CGI პროცესი, რომლებიც ადრე იყო ნაჩვენები HTOP-ში, აღარ იქნება ნაჩვენები.
როგორც წესი, ერთი PHP-CGI პროცესი Vesta CP-ის ერთი მომხმარებლისთვის მოიხმარს 30-დან 40M მეხსიერებას, რაც სავსებით დამაკმაყოფილებელია.Linuxმასპინძლის მოთხოვნები.
ამიტომ,ინტერნეტ მარკეტინგიხალხს სურს კარგად გააკეთოსSEO, ძალიან მნიშვნელოვანია Vesta CP-ის და შაბლონების კონფიგურაციის ოპტიმიზაცია ^_^
შეგიძლიათ გადახედოთ შემდეგ გაკვეთილებს VestaCP პანელზე ▼
იმედი ჩენ ვეილიანგის ბლოგი ( https://www.chenweiliang.com/ ) გააზიარა "VestaCP phpfcgid შაბლონის კონფიგურაციის პროცესის ოპტიმიზაცია მეხსიერების მრავალჯერადი ამოწურვა 500 შეცდომები", რაც თქვენთვის სასარგებლოა.
კეთილი იყოს თქვენი მობრძანება ამ სტატიის ბმულის გასაზიარებლად:https://www.chenweiliang.com/cwl-735.html
მეტი ფარული ხრიკის გასახსნელად🔑, კეთილი იყოს თქვენი მობრძანება ჩვენს Telegram არხზე!
გააზიარეთ და მოიწონეთ თუ მოგეწონათ! თქვენი გაზიარებები და მოწონებები ჩვენი მუდმივი მოტივაციაა!


