VestaCP phpfcgid veidnes konfigurācijas procesa optimizēšana vairāku atmiņu izsmelšana 500 kļūdas

VestaCP Pēc tam, kad WEB pakalpojums ir atlasījis "phpfcgid" veidni, liels skaits PHP-CGI procesu izraisa ātru atmiņas izsīkumu:

  • Pēc servera restartēšanas uz dažām stundām man principā trūka atmiņas.
  • Iepriekš dīkstāvē esošais PHP-CGI process netiek iznīcināts, un viens process palaiž gandrīz 1 apakšprocesus, patērējot vismaz 20 M atmiņas.

Izmanto SSH htop komandu (nepieciešama instalēšana), varat apskatīt šo statusu ▼

VestaCP 的WEB服务 选择 “phpfcgid” 模板后,大量的PHP-CGI进程,造成内存很快被耗光

Ja, izmantojot komandu htop, tiek parādīts kļūdas ziņojums "-bash: htop: komanda nav atrasta", lūdzu, skatiet šo pamācību risinājumam ▼

Liels skaits PHP-CGI procesu izraisa ātru atmiņas izsīkumu. Problēma slēpjas VestaCPCentOSphpfcgid veidnē tiek izmantota neoptimizēta konfigurācija.

  • VestaCP phpfcgid veidnē iestatiet 1 PHP-CGI procesu, lai palaistu līdz 20 pakārtotiem procesiem.

skat /usr/local/vesta/data/templates/web/httpd/phpfcgid.sh Faila 13. rindiņa:

export PHP_FCGI_CHILDREN=20

Tomēr šāda iestatīšana pārkāpj Apache brīdinājumu PHP apakšprocesa pārvaldības dokumentācijā:

PHP bērnu procesu pārvaldība (PHP_FCGI_CHILDREN) vienmēr ir jāatspējo ar mod_fcgid, kas vienlaikus novirzīs tikai vienu pieprasījumu uz lietojumprogrammu procesiem, ko tas radījis; tādējādi visi PHP izveidotie pakārtotie procesi netiks izmantoti efektīvi. (Turklāt PHP pakārtotie procesi var netikt pareizi pārtraukti .) Pēc noklusējuma un ar vides mainīgā iestatījumu PHP_FCGI_CHILDREN=0, PHP bērnu procesu pārvaldība ir atspējota.

Tā kā Apache mod_fcgid modulī PHP-CGI process var atbildēt tikai uz vienu pieprasījumu un darboties vienlaikus, PHP-CGI pakārtotais process ir ļoti neefektīvs.

Tāpēc PHP apakšprocesu pārvaldības iestatījumi ir tieši jāatspējo ▼

PHP_FCGI_CHILDREN=0

Tajā pašā laikā, ja jums jau ir ģenerēts virtuālais resursdators, jums ir jāmaina visu vietņu konfigurācijas faili ▼

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

Pēc fcgi-starter konfigurācijas faila atvēršanas ievietojiet šo ▼

export PHP_FCGI_CHILDREN=20

Modificēts uz ▼

export PHP_FCGI_CHILDREN=0
  • Pēc modifikācijas PHP apakšprocesu pārvaldība mod_fcgid režīmā tiks izslēgta.
  • PHP-CGI process vairs neradīs bērnu procesus, kas var ietaupīt daudz atmiņas.

Arī VestaCP neiestata pārtraukšanas mehānismu dīkstāves procesiem:

  • Visi tikko izpildītie PHP-CGI procesi turpinās izmantot atmiņu, līdz sistēma tiks pārstartēta.

Lai to labotu, vienkārši pievienojiet mod_fcgid konfigurācijas failu /etc/httpd/conf.d/fcgid.conf Pievienojiet tālāk norādītos iestatījumus ▼

FcgidIdleTimeout 120
  • Iestatiet Apache, lai tā automātiski iznīcina PHP-CGI procesus, kas ir dīkstāvē 2 minūtes (120 sekundes).

Kad iestatīšana ir pabeigta, restartējiet Apache pakalpojumu ▼

service httpd restart

Pēc pakalpojuma restartēšanas simtiem PHP-CGI procesu, kas iepriekš tika parādīti HTOP, vairs netiks rādīti.

Parasti viens PHP-CGI process vienam Vesta CP lietotājam patērē 30 līdz 40 M atmiņas, pilnībā apmierinotLinuxsaimniekdatora prasības.

tāpēcInterneta mārketingscilvēki vēlas darīt labiSEO, ir ļoti svarīgi optimizēt Vesta CP un veidņu konfigurāciju ^_^

Varat apskatīt tālāk norādītās pamācības VestaCP panelī ▼

发表 评论

Jūsu e-pasta adrese netiks publicēta. 必填 项 已 用 * Etiķete

Ritiniet uz augšu