Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 14157|Απάντηση: 0

[Ιστός] Ενεργοποιήστε τη διαμόρφωση αργής καταγραφής στο nginx php-fpm (για τον εντοπισμό σεναρίων PHP αργής εκτέλεσης)

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 23/10/2014 11:49:24 μ.μ. | | |

Πολλοί webmasters προβληματίζονται από 500,502 ζητήματα μετά τη μετάβαση σε nginx+php-fpm. Όταν το nginx λαμβάνει τον παραπάνω κωδικό σφάλματος, μπορεί να διαπιστωθεί ότι υπάρχει κάποιο είδος προβλήματος με το backend php-fpm που αναλύει το php, όπως σφάλμα εκτέλεσης ή χρονικό όριο εκτέλεσης.

Το php-fpm.conf έχει μια παράμετρο request_slowlog_timeout περιγράφεται ως εξής

  1. ; The timeout for serving a single request after which a PHP backtrace will be
  2. ; dumped to the 'slowlog' file. A value of '0s' means 'off'.
  3. ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
  4. ; Default Value: 0
  5. ;request_slowlog_timeout = 0
Αντιγραφή κώδικα

Όταν το request_slowlog_timeout έχει οριστεί σε ένα συγκεκριμένο δεύτερο request_slowlog_timeout =5, σημαίνει ότι εάν ένα σενάριο εκτελεστεί για περισσότερα από 5 δευτερόλεπτα, το σενάριο θα καταγραφεί στο αρχείο αργής καταγραφής


request_slowlog_timeout =0 σημαίνει ότι η αργή έξοδος καταγραφής είναι απενεργοποιημένη.

Η θέση του αρχείου αργής καταγραφής βρίσκεται στο φάκελο καταγραφής στον κατάλογο εγκατάστασης php από προεπιλογή και μπορείτε να την καθορίσετε τροποποιώντας την παράμετρο slowlog = log/$pool.log.slow.

Παράδειγμα αργής καταγραφής PHP-FPM, το αργό αρχείο καταγραφής θα καταγράψει τον αριθμό της διαδικασίας, το όνομα του σεναρίου, το συγκεκριμένο αρχείο, ποια γραμμή κώδικα, ποια συνάρτηση είναι πολύ μεγάλη για να εκτελεστεί.

  1. [21-Nov-2013 14:30:38] [pool www] pid 11877
  2. script_filename = /usr/local/lnmp/nginx/html/www.quancha.cn/www/fyzb.php
  3. [0xb70fb88c] file_get_contents() /usr/local/lnmp/nginx/html/www.quancha.cn/www/fyzb.php:2
  4. [21-Nov-2013 14:15:23] ERROR: [pool www] 'slowlog' must be specified for use with 'request_slowlog_timeout'
Αντιγραφή κώδικα

request_slowlog_timeout και το slowlog πρέπει να ρυθμιστούν ταυτόχρονα και πρέπει να ενεργοποιήσετε το slowlog ταυτόχρονα με την ενεργοποίηση του request_slowlog_timeout

  1. [21-Nov-2013 14:16:27] ERROR: Unable to create or open slowlog(/usr/local/lnmp/php/log/www.log.slow): No such file or directory (2)
Αντιγραφή κώδικα

Οι αργές διαδρομές καταγραφής πρέπει να δημιουργηθούν χειροκίνητα


Συγκεκριμένα βήματα για την ενεργοποίηση της αργής καταγραφής php-fpm:

  1. cd /usr/local/lnmp/php

  2. vi etc/php-fpm.conf
  3. 去掉request_slowlog_timeout 、slowlog的前缀分号';',设置request_slowlog_timeout =5;
  4. :wq
  5. 保存退出
  6. 创建慢日志目录
  7. mkdir log
  8. 重启php-fpm
  9. kill -INT `cat var/run/php-fpm.pid
  10. sbin/php-fpm
Αντιγραφή κώδικα






Προηγούμενος:Κατά την ανάρτηση, η διαδικασία php-fpm φτάνει αμέσως το 99% της CPU, ανάλυση σφαλμάτων
Επόμενος:Η Θεία Κωμωδία των Chopstick Brothers "Little Apple" Γεια σας, υπάρχει ένα όμορφο κορίτσι
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com