Score:1

php7.4-fpm / Apache2: รับหน้าสถานะ PHP FPM เพื่อโหลดหรือไม่

ธง gb

ฉันพยายามทำให้หน้าสถานะ php7.4-fpm แสดงใน URL ฉันใช้เซิร์ฟเวอร์ Apache 2.4.41 แต่ฉันได้รับ "ไม่พบไฟล์" แทน ข้อผิดพลาด.

นี่คือสิ่งที่ฉันทำ ก่อนอื่นฉันแก้ไข:

/etc/php/7.4/fpm/pool.d/www.conf

ฉันไม่ได้แสดงความคิดเห็นและแก้ไขสองบรรทัด:

pm.status_path = /สถานะ
ping.path = /ปิง

ต่อไป ฉันไปที่ไฟล์คอนฟิกูเรชัน apache ของเว็บไซต์:

/etc/apache2/sites-enabled/mywebsite.com.conf

และเพิ่มบรรทัด:

<VirtualHost *:443>
  ServerAlias mywebsite.com
  DocumentRoot /home/mywebsite/mywebsite.com

  # added these lines to get the php status page to show up
  <LocationMatch "/(ping|status)">
    SetHandler "proxy:unix:/run/php/php7.4-fpm.mywebsite.sock|fcgi://localhost/status"
  </LocationMatch>

</VirtualHost>

ดูเหมือนว่านี่ควรเป็นการตั้งค่าง่ายๆ แต่ฉันใช้เวลาหลายชั่วโมงในการพยายามทำให้หน้าสถานะทำงานไม่สำเร็จเพื่อวินิจฉัยปัญหา php-fpm ที่อธิบายไม่ได้ซึ่งเริ่มต้นขึ้นเมื่อไม่กี่วันก่อนโดยใช้กระบวนการ php-fpm ทั้งหมดบนเว็บไซต์ทั้งหมด .

ตอนนี้ฉันลาออกจากการเล่นเกมปืนลูกซองโดยลองใช้ตัวจัดการที่แตกต่างกันเพื่อพยายามทำงาน:

SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost/status"
SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost"
SetHandler "พร็อกซี: unix:/run/php/php7.4-fpm.sock|fcgi://localhost/"
SetHandler "proxy:unix:/run/php/php7.4-fpm.mywebsite.sock|fcgi://localhost"

ถ้าฉันลอง "proxy:unix:/run/php/php7.4-fpm.sock" ซึ่งเป็นสิ่งที่ www.conf ฟังจริงๆ ฉันจะได้รับ 503 Service Unavailable

หากฉันลองใช้ซ็อกเก็ตเว็บไซต์ "proxy:unix:/run/php/php7.4-fpm.mywebsite.sock" หน้าเว็บจะโหลดขึ้นจริง แต่แสดงเพียง "ไม่พบไฟล์" และมันก็ไม่สำคัญ หากเป็น "fcgi://localhost/status" หรือ "fcgi://localhost" ฉันไม่รู้ว่าข้อตกลงคืออะไร

Score:0
ธง gb

หลังจากพักและทานอาหาร ฉันก็คิดออกภายในไม่กี่นาที ถ้าใครมีปัญหาแบบเดียวกัน คุณต้องแก้ไข pool conf ของแต่ละไซต์ ไม่ใช่ [www]

/etc/php/7.4/fpm/pool.d/mywebsite.conf

จากนั้นเพิ่มไปที่:

pm.status_path = /สถานะ
ping.path = /ปิง

ในกรณีของฉัน ฉันไม่เคยใช้ www.conf แต่ฉันมีการตั้งค่า VPS ที่แต่ละไซต์มีพูลของตัวเองและ apache ไม่ได้ใช้ www.conf

ขั้นตอนต่อไปคือการใช้ซ็อกเก็ตที่สอดคล้องกับพูล Conf ของไซต์แต่ละแห่ง เช่นสิ่งต่อไปนี้สำหรับ Apache ของคุณ:

พร็อกซี:ยูนิกซ์:/รัน/php/php7.4-fpm.mywebsite.sock|fcgi://localhost/status

sudo systemctl รีโหลด php7.4-fpm
sudo systemctl โหลด apache2 ใหม่

ขอบคุณที่มองหา ฉันอาจจะเจอโพสต์ของตัวเองอีกครั้งในอีกหลายปีต่อมา ดังนั้นสำหรับตัวฉันในอนาคต นี่คือวิธีการทำ อย่าลืมใช้ URL https://www.mywebsite.com/status?full สำหรับรายการทั้งหมดของแต่ละกระบวนการ ไม่ใช่แค่บทสรุป

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา