Nginx + PHP-FPM สร้างเกตเวย์ที่ไม่ดี 502 ข้อผิดพลาดร้ายแรงหรือไม่


11

ฉันกำลังทดสอบ Symfony2 กับ Nginx และ PHP-FPM ฉันยังใช้ Xdebug

Symfony2 มาพร้อมกับชุดสาธิตฉันต้องการทดสอบการจัดการข้อผิดพลาดร้ายแรงซึ่งมาพร้อมกับ Symfony 2.2.0 ใหม่โดยการสร้างข้อผิดพลาดทางไวยากรณ์ในชุด Acme / Demo ทำไมฉันถึงทำเช่นนั้นการตอบสนองของเซิร์ฟเวอร์คือเกตเวย์ที่ไม่ดี 502

แต่ถ้าฉันทำข้อผิดพลาดทางไวยากรณ์ในไฟล์ app_dev.php (ดังนั้นก่อนที่เฟรมเวิร์กจะเริ่มทำงาน) Xdebug จะบอกฉันเกี่ยวกับข้อผิดพลาดร้ายแรง

และน่าประหลาดใจถ้าฉันแก้ไขข้อผิดพลาดนั้นจากนั้นสร้างข้อผิดพลาดทางไวยากรณ์ในชุดข้อมูล Acme / Demo ใหม่ตัวจัดการข้อผิดพลาด Symfony จะปรากฏขึ้นตามที่คาดไว้ และในที่สุดถ้าแก้ไขข้อผิดพลาดทั้งหมด (ใช้งานได้ในหน้า) แล้วสร้างตัวพิมพ์เดียวกันอีกครั้ง (อีกครั้งใน Acme / Bundle) ฉันจะได้รับเกตเวย์ที่ไม่ดี

คุณมีเงื่อนงำเกี่ยวกับเรื่องนี้หรือไม่?


มีอะไรอัพเดตไหม? ฉันมีปัญหาเดียวกัน
Kevin Robatel

ที่นี่สำหรับการอัปเดต
Zaki Aziz

บรรทัดใดที่ปรากฏในข้อผิดพลาด nginx ของคุณบันทึกเมื่อคุณได้รับข้อผิดพลาดของเกตเวย์ที่ไม่ดี นี่เป็นข้อผิดพลาด 90% ที่ชี้ไปยังซ็อกเก็ต PHP-FPM นอกจากนี้คุณสามารถแสดงการกำหนดค่า nginx ของคุณและการกำหนดค่าพูล PHP-FPM ที่คุณใช้หรือไม่
Bert

คำตอบ:


1

สิ่งนี้เกิดขึ้นกับฉันเมื่อวานนี้มันเกิดข้อผิดพลาดจาก nginx ถึง php5-fpm ปรากฏว่าบริการ php-fpm ได้รับการกำหนดค่าให้ฟังบนซ็อกเก็ตผิด

ใน /etc/php5/php-fpm.conf ฉันเปลี่ยนเป็น:

Listen = /var/run/php5-fpm.sock

และในทุก / etc / nginx / ให้แน่ใจว่า fastcgi_pass unix: /var/run/php5-fpm.sock

HTH


ไม่การกำหนดค่าของฉันใช้งานได้เนื่องจากฉันสามารถใช้แอพได้ เป็นเพียงในสถานการณ์เฉพาะนี้ฉันอธิบาย
jchatard

ลองเปลี่ยนบัฟเฟอร์ stackoverflow.com/questions/27173945/…
Ryan

0

คุณสามารถติดตามปัญหาที่แน่นอนโดยการตรวจสอบบันทึก nginx

/var/log/nginx/sitename.error.log

502 เป็นเพราะมีปัญหาบางอย่างในการเชื่อมต่อกับกระบวนการ php-fpm บันทึกสามารถให้รายละเอียดเพิ่มเติมแก่คุณ หากคุณต้องการแยกบันทึกให้ระบุ seperate error_log ใต้ตำแหน่งของแอปพลิเคชัน php ของคุณเช่น

    location <name> {

    error_log /var/log/nginx/site_location.error.log;
  #  error_log /var/log/nginx/site_location.error.log debug;

    }

(หาก nginx พยายามเชื่อมต่อกับพอร์ตอื่น / phpfpm / socket คุณสามารถรับคำตอบได้จากสิ่งนี้)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.