VestaCP phpfcgid შაბლონის კონფიგურაციის პროცესის ოპტიმიზაცია მრავალ მეხსიერების ამოწურვა 500 შეცდომები

VestaCP მას შემდეგ, რაც WEB სერვისი აირჩევს "phpfcgid" შაბლონს, PHP-CGI პროცესების დიდი რაოდენობა იწვევს მეხსიერების სწრაფად ამოწურვას:

  • სერვერის გადატვირთვის შემდეგ, ძირითადად, მეხსიერების გამორთვა მქონდა რამდენიმე საათის განმავლობაში.
  • ადრე უმოქმედო PHP-CGI პროცესი არ წყდება და ერთი პროცესი აწარმოებს თითქმის 1 ქვეპროცესს, რომელიც მოიხმარს მინიმუმ 20 მ მეხსიერებას.

გამოიყენება SSH-ში htop ბრძანება (საჭიროა ინსტალაცია), შეგიძლიათ ნახოთ ეს სტატუსი ▼

მას შემდეგ, რაც VestaCP-ის WEB სერვისი აირჩევს „phpfcgid“ შაბლონს, PHP-CGI პროცესების დიდი რაოდენობა იწვევს მეხსიერების სწრაფად ამოწურვას.

თუ თქვენ მიიღებთ შეცდომის შეტყობინებას "-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 არხზე!

გააზიარეთ და მოიწონეთ თუ მოგეწონათ! თქვენი გაზიარებები და მოწონებები ჩვენი მუდმივი მოტივაციაა!

 

评论

თქვენი ელფოსტის მისამართი არ გამოქვეყნდება. გამოყენებულია აუცილებელი ველები * ლეიბლი

გადაახვიეთ ზემოთ