VestaCP phpfcgid загварын тохиргооны процессыг оновчтой болгох нь олон санах ойн хомсдол 500 алдаа

VestaCP WEB үйлчилгээ "phpfcgid" загварыг сонгосны дараа олон тооны PHP-CGI процессууд нь санах ойг хурдан шавхахад хүргэдэг:

  • Серверийг дахин эхлүүлсний дараа миний санах ой үндсэндээ хэдэн цагийн турш дуусч байсан.
  • Өмнө нь идэвхгүй байсан PHP-CGI процессыг устгадаггүй бөгөөд нэг процесс нь бараг 1 дэд процессыг ажиллуулж, дор хаяж 20 сая санах ой зарцуулдаг.

SSH-д ашигладаг htop тушаал (суулгах шаардлагатай), та энэ статусыг харж болно ▼

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

Хэрэв та htop командыг ашиглах үед "-bash: htop: команд олдсонгүй" гэсэн алдаа гарч ирвэл энэ зааварчилгааг үзнэ үү ▼

Олон тооны PHP-CGI процессууд нь санах ойг хурдан шавхахад хүргэдэг. Асуудал нь VestaCP-д оршдог.CentOSPhpfcgid загварт оновчгүй тохиргоог ашигладаг.

  • phpfcgid загварт VestaCP-ийг 1 хүртэлх хүүхэд процесс ажиллуулахын тулд 20 PHP-CGI процессыг тохируулна уу.

Харна уу /usr/local/vesta/data/templates/web/httpd/phpfcgid.sh Файлын 13-р мөр:

export PHP_FCGI_CHILDREN=20

Гэсэн хэдий ч ийм тохиргоо нь PHP дэд процессын удирдлагын баримт бичигт Apache-ийн анхааруулгыг зөрчиж байна:

PHP хүүхдийн процессын удирдлага (PHP_FCGI_ХҮҮХДҮҮД)-г mod_fcgid-тай үргэлж идэвхгүй болгох ёстой бөгөөд энэ нь зөвхөн нэг хүсэлтийг үүсгэсэн програмын процесс руу чиглүүлдэг тул PHP-ээр үүсгэсэн аливаа хүүхэд процессууд үр дүнтэй ашиглагдахгүй. (Үүнээс гадна, 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-starter тохиргооны файлыг нээсний дараа дараах ▼-г оруулна уу

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
  • 2 минут (120 секунд) идэвхгүй байгаа PHP-CGI процессуудыг автоматаар устгахаар Apache-г тохируулна уу.

Тохиргоо дууссаны дараа Apache үйлчилгээг дахин эхлүүлнэ үү ▼

service httpd restart

Үйлчилгээг дахин эхлүүлсний дараа HTOP дээр өмнө нь харуулсан хэдэн зуун PHP-CGI процессууд цаашид харагдахгүй болно.

Ерөнхийдөө нэг Vesta CP хэрэглэгчдэд зориулсан нэг PHP-CGI процесс нь 30-40 сая санах ой зарцуулдаг бөгөөд энэ нь танд бүрэн нийцдэг.Linuxхостын шаардлага.

тийм учраас网络 营销хүмүүс сайн хийхийг хүсдэгSEO, Vesta CP болон загваруудын тохиргоог оновчтой болгох нь маш чухал юм ^_^

Та VestaCP самбар дээрх дараах хичээлүүдийг үзэж болно ▼

Hope Chen Weiliang блог ( https://www.chenweiliang.com/ ) "VestaCP phpfcgid Загварын тохиргооны процессын олон санах ойн хомсдол 500 алдаа"-г хуваалцсан нь танд тустай.

Энэ нийтлэлийн холбоосыг хуваалцахад тавтай морилно уу:https://www.chenweiliang.com/cwl-735.html

Илүү олон далд заль мэхийг нээхийн тулд манай Telegram сувагт нэгдэнэ үү!

Хэрэв танд таалагдвал лайк дарж, хуваалцаарай! Таны шэйр, лайк бол бидний байнгын урам зориг юм!

 

发表 评论

Таны имэйл хаягийг нийтлэхгүй. 必填 项 已 用 дээр ажиллаж байна * 标注

TOP хүртэл гүйлгэж