پیغام ارور و ارور ۵۰۲ bad gateway در nginx
در این مطلب قصد داریم به بررسی پیغام ارور و ارور ۵۰۲ bad gateway در nginx برای شما دوستان عزیز بپردازیم. امیدواریم این مقاله برای شما نیز مفید و کاربردی باشد. با ما همراه باشید.
اگر جزو وب مستران طرفدار وب سرور nginx می باشید احتمالا می بایست مرتبه ها و مرتبه ها در شرایط مختلـف با این پیغام و پیغام ارور و ارور مشهـور و اعصاب خورد کن در nginx آشنا باشید : ۵۰۲ Bad Gateway
این مساله اغلب در زمان بهره گیری از پلاگین های Reverse Proxy Cache و ضمناً مدیریـت پنل هایی که از وب سرور nginx به شیوه ناقص حمایت میکنند زیـادتر مشاهده می شود . اغلب چند علـت رایـج و معمول برای ایجاد ارور و ارور ۵۰۲ Bad Gateway در وب سرور nginx وجود دارد که در ادمه گفتگو به آن ها اشاره میکنیم . پیش از هر چیز می بایست نوع بهره گیری از Nginx معیـن گـردد.
اغلب پیغام ارور ی ۵۰۲ Bad Gateway در nginx زیـادتر در مسائـل بهره گیری از nginx به عنوان پروکسی کش و Reverse Proxy و سر راه وب سرور آپاچی رخ میدهد که احتمالا به علـت بهره گیری زیـادتر وب مستران ایرانی از این تاکتیک برای زیـر آوردن لود سرور و بیشتر شدن سرعت چشمگیر صفحات وب باشد . ارور ۵۰۲ Bad Gateway در nginx به جز حالت اول ، در نکات ی که ادمین سرور از nginx به عنوان وب سرور مهـم و با هندلر fastcgi و بهره گیری می کند هم رخ میدهد . شانس ایجاد این ارور ی nginx در حالت های دیگر هم میسر است ولی ۲ موردی که به آن اشاره کردیم و به ویژه حالت proxy cache مهـم ترین و شایع ترین مسائـل بهره گیری از nginx به ویژه در میـان وب مستران ایرانی می باشد.
ارور ی ۵۰۲ bad gateway در حالت بهره گیری از nginx به عنوان Reverse Proxy
در این حالت وب سرور آپاچی نقش Gateway را ایفا می کند و Gateway وب سرور Apache می باشد. بنا بر این چنان چه در این حالت با ارور ۵۰۲ bad gateway مواجه شدید مساله اصلی از کانفیگ Gateway یا همـان وب سرور آپاچی می باشد. راه حل این مساله را اغلب می بایست در لاگ های مرتبط به ارور های آپاچی پیدا کردن نمایید .
ارور ی ۵۰۲ bad gateway در حالت بهره گیری از nginx به عنوان وب سرور
در این وضعیت چنان چه با ارور ی ۵۰۲ bad gateway در nginx مواجه شدید مهـم ترین شانس مربوط به تنظیمات هندلر php که اغلب fastcgi است می باشد . در این صورت لاگ های مرتبط به php و php-fpm را بازبینی چ نمایید . مناسـب تر از ابتدا لاگ های مرتبط به nginx و php-fpm را پاک نمایید و سپس با دستور service nginx restart و service php-fpm restart مجددا لاگ ها رو تهیه کرده و ارور ها رو مانیتور نمایید .
راه حل های از میـان بردن مساله ارور و پیغام ارور ۵۰۲ bad gateway در nginx
۱٫بیشتر شدن میزان buffer و timeout درون بلاک http در فایل کانفیگ nginx
مد نظر داشته باشید که این راه حل اغلب در ۸۰% مواقع پاسخـگو می باشد. برای بیشتر شدن مقادیر buffer و timeout فایل کانفیگ nginx را ویرایش کرده و مقادیر پایین را در بلاک http اضافه نمایید و در انتها سرویس های cgi/php-fpm و nginx را ریستارت نمایید :
http {
…
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
…
}
۲٫اطمینان حاصل نمایید php-fpm به آدرسی که شما در کانفیگ nginx ست کرده اید گوش می کند
این آدرس میتواند به یکـی از دو صورت چون باشد و در فایل www.conf مرتبط به php-fpm و در راه /etc/php-fpm.d/www.conf قرار دارد :
listen = /var/run/php5-fpm.sock
یا
listen = 127.0.0.1:9000
بعد از اتمام ویرایش و حصول اطمینان از کانفیگ درست و مقادیر داده شده سرویس های php-fpm و nginx را ریستارت نمایید
۳٫غیر فعال کردن سیستم کش به ویژه APC Cache
اگر از کش بهره گیری مینمایید و با پیغام ارور ی nginx ۵۰۲ bad gateway مواجه میشوید به شما توصیه مینمایید ابتدا کش مربوطه رو غیر فعال نمایید . بد نام ترین کشینگ در این مورد ، APC Cache می باشد. ولی سایـر کش ها مثل Xcache و حتی Memcache هم میتوانند باعث ایجاد این اختلال شوند . در این صورت می بایست مساله را در نوع کانفیگ کش و ضمناً اسکریپت بهره گیری شده پیدا کردن نمایید . در Opcode Cache ها چنان چه با APC به مساله غیر قابل حل برخورد کردید خواهید توانست Xcache یا Eaccelerator را جایگزین نمایید . اغلب Optmizer ها در کش های PHP یکـی از عوامل ایجاد این ارور در nginx می باشند.
خب دوستان به انتهای مقاله آموزشی پیغام ارور و ارور ۵۰۲ bad gateway در nginx رسیدیم. از توجه و همراهی شما با این مطلب سپاسگزاریم. در صورتی که نیاز به اطلاعات بیشتر درمورد سرور اختصاصی و سرور مجازی دارید، سایر مقالات این سایت را دنبال نمایید.