ฉันพยายามทำให้หน้าสถานะ 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" ฉันไม่รู้ว่าข้อตกลงคืออะไร