Βελτιστοποίηση της διαδικασίας διαμόρφωσης προτύπου phpfcgid VestaCP 500 σφάλματα εξάντλησης πολλαπλής μνήμης

VestaCP Αφού η υπηρεσία WEB επιλέξει το πρότυπο "phpfcgid", ένας μεγάλος αριθμός διεργασιών PHP-CGI προκαλεί γρήγορη εξάντληση της μνήμης:

  • Ουσιαστικά είχα εξαντληθεί η μνήμη για μερικές ώρες μετά την επανεκκίνηση του διακομιστή.
  • Η προηγουμένως αδρανής διαδικασία PHP-CGI δεν σκοτώνεται και μία διεργασία εκτελεί σχεδόν 1 υποδιεργασίες, καταναλώνοντας τουλάχιστον 20M μνήμης.

Χρησιμοποιείται σε SSH htop εντολή (απαιτείται εγκατάσταση), μπορείτε να δείτε αυτήν την κατάσταση ▼

Αφού η υπηρεσία WEB της VestaCP επιλέξει το πρότυπο "phpfcgid", ένας μεγάλος αριθμός διεργασιών PHP-CGI προκαλεί γρήγορη εξάντληση της μνήμης.

Εάν λάβετε ένα μήνυμα σφάλματος "-bash: htop: η εντολή δεν βρέθηκε" όταν χρησιμοποιείτε την εντολή 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 μνήμης, ικανοποιώντας πλήρωςLinuxαπαιτήσεις υποδοχής.

επομένως,网络 营销οι άνθρωποι θέλουν να τα πάνε καλά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η

Ιστολόγιο Hope Chen Weiliang ( https://www.chenweiliang.com/ ) κοινοποίησε τη "Βελτιστοποίηση της διαδικασίας ρύθμισης παραμέτρων προτύπου phpfcgid VestaCP Πολλαπλή μνήμη με εξάντληση 500 σφαλμάτων", το οποίο είναι χρήσιμο για εσάς.

Καλώς ήρθατε να μοιραστείτε τον σύνδεσμο αυτού του άρθρου:https://www.chenweiliang.com/cwl-735.html

Καλώς ήρθατε στο κανάλι Telegram του ιστολογίου του Chen Weiliang για να λαμβάνετε τις τελευταίες ενημερώσεις!

🔔 Γίνετε ο πρώτος που θα αποκτήσει τον πολύτιμο "Οδηγό χρήσης εργαλείου τεχνητής νοημοσύνης μάρκετινγκ περιεχομένου ChatGPT" στον κορυφαίο κατάλογο του καναλιού! 🌟
📚 Αυτός ο οδηγός περιέχει τεράστια αξία, 🌟Αυτή είναι μια σπάνια ευκαιρία, μην τη χάσετε! ⏰⌛💨
Κοινοποιήστε και κάντε like αν σας αρέσει!
Η κοινή χρήση και τα like σας είναι το συνεχές μας κίνητρο!

 

发表 评论

Η διεύθυνση email σας δεν θα δημοσιευθεί. 必填 项 已 用 * 标注

κύλιση στην κορυφή