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

Pēc tam, kad VestaCP tīmekļa pakalpojumam tika izvēlēta veidne "phpfcgid", liels skaits PHP-CGI procesu ātri izsmēla atmiņu.

  • 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 ▼

Pēc VestaCP tīmekļa pakalpojuma veidnes "phpfcgid" izvēles lielais PHP-CGI procesu skaits ātri izsmēla atmiņu.

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 ▼

Lielais PHP-CGI procesu skaits izraisīja ātru atmiņas izsīkšanu. Problēma ir tā, ka VestaCP CentOS phpfcgid veidnē izmanto neoptimizētu konfigurāciju .

  • 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, izmantojot mod_fcgid, kas vienlaikus novirzīs tikai vienu pieprasījumu uz tā izveidotajiem lietojumprogrammu procesiem; tādējādi visi PHP izveidotie bērnu procesi netiks efektīvi izmantoti. (Turklāt PHP bērnu procesi, iespējams, netiks 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ē no 30 līdz 40 MB atmiņas, kas ir vairāk nekā pietiekami Linux resursdatoram.

Tāpēc Vesta satura un veidņu konfigurācijas optimizācija ir ļoti svarīga tiešsaistes tirgotājiem , kuri vēlas gūt panākumus SEO .

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

发表 评论

您的邮箱地址不会被公开.必填项已用*标注

Ritiniet uz augšu