Rumah >Operasi dan penyelenggaraan >Nginx >Apakah sebab mengapa nginx php melaporkan ralat 502 dan bagaimana untuk menyelesaikannya
1. Apakah ralat 502?
Ringkasnya, apabila anda melawati halaman tapak web, jika halaman tersebut memaparkan "502 Gateway Error", ini bermakna permintaan anda tidak boleh diterima atau diproses, dan permintaan yang sepadan tidak dapat diselesaikan kes Ini disebabkan oleh Nginx tidak dapat mendapatkan respons yang sepadan daripada proses FastCGI yang digunakan PHP untuk mengendalikan permintaan.
Ralat 502 ialah salah satu ralat HTTP biasa, terutamanya apabila menggunakan pelayan Nginx sebagai pelayan proksi terbalik Apabila ia berlaku, halaman ralat dipaparkan kepada pengguna yang menyatakan bahawa pelayan telah menerima permintaan, tetapi Untuk beberapa sebab pelayan tidak dapat membalas permintaan dengan betul.
2 Punca ralat 502
Sambungan PHP-fpm ke proksi terbalik Nginx gagal
PHP-FPM ialah pelayan FastCGI yang menjalankan secara bebas Ia boleh memisahkan permintaan PHP daripada pelayan web, dengan itu menjadikan pelayan web lebih pantas dan lebih selamat Walau bagaimanapun, proksi terbalik PHP-FPM kepada Nginx mungkin gagal balas permintaan, yang akan menyebabkan NGINX+PHP melaporkan ralat 502.
Proses PHP ranap
Jika proses PHP ranap atau ditutup oleh sistem, ralat 502 mungkin berlaku semasa menjalankan aplikasi PHP . Untuk menyelesaikan masalah ini, anda perlu memulakan semula proses atau pelayan PHP untuk memastikan proses PHP berjalan dan memproses permintaan tanpa masalah.
Ralat Rangkaian
Jika sambungan rangkaian gagal atau terputus sambungan, pelayan tidak boleh menghantar permintaan, jadi ralat get laluan 502 berlaku. Ia mungkin disebabkan oleh pelayan anda menerima terlalu banyak permintaan trafik semasa tempoh sibuk.
Ralat skrip program PHP
Terdapat juga situasi di mana ralat skrip program PHP berlaku tidak dapat memproses output program PHP dengan betul dan balas dengan betul kod status respons, mengakibatkan ralat 502.
3. Kaedah untuk menyelesaikan 502 ralat
Konfigurasi berkaitan Nginx dan PHP-fpm
Untuk memastikan sambungan antara Nginx dan PHP-fpm adalah normal, konfigurasi yang berkaitan diperlukan. Apabila Nginx dan PHP-fpm tidak dikonfigurasikan dengan betul, kegagalan sambungan dan ralat 502 mungkin berlaku.
Sebagai contoh, anda boleh menyemak sama ada parameter fastcgi_pass ditetapkan dengan betul dalam fail konfigurasi Nginx untuk menentukan laluan fail proses FastCGI untuk disambungkan ke PHP-fpm. Semak juga tetapan PHP-FPM yang berkaitan untuk memastikan ia mendengar dengan betul pada alamat IP dan port yang ditentukan.
Mulakan semula proses PHP
Cuba mulakan semula proses PHP-FPM dan semak sama ada sambungan Nginx adalah normal. Untuk berjaya membalas permintaan, proses PHP perlu dimulakan semula apabila ranap atau terganggu.
Tingkatkan sumber pelayan
502 ralat mungkin berlaku apabila pelayan menerima sejumlah besar permintaan trafik semasa tempoh puncak. Pada masa ini, anda boleh cuba meningkatkan sumber pelayan, seperti CPU atau memori, atau menambah pengimbang beban untuk memastikan pelayan boleh mengendalikan lebih banyak permintaan dan mengelakkan ralat 502.
Optimumkan program PHP
Jika anda telah mengesahkan bahawa tiada isu konfigurasi rangkaian atau pelayan, anda boleh mula menyemak kod program PHP untuk kesilapan atau verbosity . Dengan menyahpepijat dan mengoptimumkan dalam kod anda, anda boleh mengurangkan beban pada program anda semasa ia sedang berjalan, dengan itu meningkatkan kestabilan dan kebolehpercayaannya.
Atas ialah kandungan terperinci Apakah sebab mengapa nginx php melaporkan ralat 502 dan bagaimana untuk menyelesaikannya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!