การเพิ่มประสิทธิภาพกระบวนการกำหนดค่าเทมเพลต VestaCP phpfcgid ข้อผิดพลาดหลายหน่วยความจำหมด 500

VestaCP หลังจากที่บริการเว็บเลือกเทมเพลต "phpfcgid" กระบวนการ PHP-CGI จำนวนมากทำให้หน่วยความจำหมดอย่างรวดเร็ว:

  • โดยพื้นฐานแล้ว หน่วยความจำของฉันหมดสองสามชั่วโมงหลังจากรีสตาร์ทเซิร์ฟเวอร์
  • กระบวนการ PHP-CGI ที่ไม่ได้ใช้งานก่อนหน้านี้จะไม่ถูกฆ่า และหนึ่งกระบวนการทำงานเกือบ 1 กระบวนการย่อย โดยใช้หน่วยความจำอย่างน้อย 20M

ใช้ใน SSH htop คำสั่ง (จำเป็นต้องติดตั้ง) คุณสามารถดูสถานะนี้ ▼

หลังจากที่บริการเว็บของ VestaCP เลือกเทมเพลต "phpfcgid" แล้ว กระบวนการ PHP-CGI จำนวนมากจะทำให้หน่วยความจำหมดอย่างรวดเร็ว

หากคุณได้รับข้อความแสดงข้อผิดพลาด "-bash: htop: command not found" เมื่อคุณใช้คำสั่ง htop โปรดดูวิธีแก้ไขในบทช่วยสอนนี้ ▼

กระบวนการ PHP-CGI จำนวนมากทำให้หน่วยความจำหมดอย่างรวดเร็ว ปัญหาอยู่ใน VestaCPCentOSในเทมเพลต phpfcgid จะใช้การกำหนดค่าที่ไม่ได้รับการปรับให้เหมาะสม

  • 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 อาจไม่สามารถยุติได้อย่างถูกต้อง .) โดยค่าเริ่มต้นและด้วยการตั้งค่าตัวแปรสภาพแวดล้อม PHP_FCGI_CHILDREN=0, การจัดการกระบวนการลูกของ PHP ถูกปิดใช้งาน

เนื่องจากในโมดูล mod_fcgid ของ Apache กระบวนการ 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
  • ตั้งค่า Apache เพื่อฆ่ากระบวนการ PHP-CGI ที่ไม่ได้ใช้งานเป็นเวลา 2 นาที (120 วินาที) โดยอัตโนมัติ

หลังจากตั้งค่าเสร็จแล้ว ให้เริ่มบริการ Apache ใหม่ ▼

service httpd restart

หลังจากเริ่มบริการใหม่ กระบวนการ PHP-CGI หลายร้อยรายการที่เคยแสดงใน HTOP ก่อนหน้านี้จะไม่แสดงอีกต่อไป

โดยทั่วไปแล้ว กระบวนการ PHP-CGI เดียวสำหรับผู้ใช้ Vesta CP คนเดียวจะใช้หน่วยความจำ 30 ถึง 40M ซึ่งเป็นที่น่าพอใจอย่างยิ่งลินุกซ์ข้อกำหนดของโฮสต์

ดังนั้น网络营销คนอยากทำดีSEOสิ่งสำคัญคือต้องเพิ่มประสิทธิภาพการกำหนดค่าของ Vesta CP และเทมเพลต ^_^

คุณสามารถดูบทช่วยสอนต่อไปนี้บนแผง VestaCP ▼

จะกำหนดค่ากระบวนการ Monit บนแผง Vesta CP ของระบบ CentOS 7 ได้อย่างไร

ก่อนหน้านี้ บล็อกของ Chen Weiliang ได้แชร์บทช่วยสอนเกี่ยวกับการติดตั้งและกำหนดค่า Monit บน CentOS 6 ▼

อย่างไรก็ตาม การกำหนดค่าของโปรแกรมมอนิเตอร์ Monit ใน CentOS 7 ค่อนข้างแตกต่างจากใน CentOS 6 และไม่เหมือนกันทั้งหมดถ้าคุณ……

จะกำหนดค่ากระบวนการ Monit บนแผง Vesta CP ของระบบ CentOS 7 ได้อย่างไรวันที่ 4

หวัง Chen Weiliang บล็อก ( https://www.chenweiliang.com/ ) แชร์ "การเพิ่มประสิทธิภาพขั้นตอนการกำหนดค่าเทมเพลต VestaCP phpfcgid ข้อผิดพลาดหลายหน่วยความจำหมด 500" ซึ่งเป็นประโยชน์กับคุณ

ยินดีต้อนรับสู่การแบ่งปันลิงค์ของบทความนี้:https://www.chenweiliang.com/cwl-735.html

ยินดีต้อนรับสู่ช่อง Telegram ของบล็อกของ Chen Weiliang เพื่อรับข่าวสารล่าสุด!

🔔 เป็นคนแรกที่ได้รับ "คู่มือการใช้งานเครื่องมือ AI การตลาดเนื้อหา ChatGPT" อันทรงคุณค่าในไดเรกทอรีด้านบนของช่อง! 🌟
📚 คู่มือนี้มีคุณค่ามหาศาล 🌟 นี่เป็นโอกาสที่หายาก อย่าพลาด! ⏰⌛💨
แชร์และชอบถ้าคุณชอบ!
การแบ่งปันและไลค์ของคุณเป็นแรงจูงใจอย่างต่อเนื่องของเรา!

 

发表评论

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ 必填项已用 * 标注