رفع ارور 504 Gateway Timeout؛ چرا سرور به درخواست‌های سایت شما پاسخ نمی‌دهد؟

یکی از ترسناک‌ترین لحظات برای هر مدیر وب‌سایت، مواجه شدن با صفحه‌ای است که هیچ محتوایی ندارد و فقط یک عبارت روی آن نقش بسته است: خطای 504. این خطا نه تنها باعث پرش کاربر (Bounce Rate) می‌شود، بلکه اگر به سرعت رفع نشود، رتبه‌های سئوی شما را که با زحمت به دست آورده‌اید، نابود می‌کند.

در این مقاله تخصصی که توسط تیم فنی پی‌پام تهیه شده، قصد داریم به شما آموزش دهیم که خطای 504 دقیقاً چیست، چرا رخ می‌دهد و چگونه می‌توانید مثل یک متخصص آن را برای همیشه برطرف کنید.

خطای 504 چیست؟

خطای 504 یا همان 504 Gateway Timeout، جزو کدهای وضعیت HTTP در رده ۵۰۰ است. این کد به این معناست که یکی از سرورهای شبکه که نقش دروازه (Gateway) یا پروکسی را ایفا می‌کند، نتوانسته است در یک بازه زمانی مشخص، پاسخی از سرور اصلی (Upstream Server) دریافت کند.

به زبان ساده‌تر: مرورگر شما درخواستی را به سرور می‌فرستد. سرور اول درخواست را می‌گیرد و به سرور دوم (که دیتابیس یا کدهای اصلی سایت روی آن است) می‌سپارد. اگر سرور دوم خیلی طول بدهد تا جواب را پس بفرستد، سرور اول ناامید شده و به شما می‌گوید: «زمان من تمام شد (Timeout)!»

خطای 504
خطای 504

چه زمانی خطای 504 اتفاق می‌افتد؟

شناخت زمان وقوع این خطا، نیمی از راه حل است. معمولاً در شرایط زیر با این مشکل روبرو می‌شوید:

  1. پردازش‌های سنگین دیتابیس: وقتی یک کوئری (Query) سنگین اجرا می‌کنید که دیتابیس توان پاسخگویی سریع به آن را ندارد.

  2. ترافیک ناگهانی و بالا: در زمان جشنواره‌ها یا کمپین‌های تبلیغاتی، وقتی تعداد درخواست‌ها از ظرفیت سرور بیشتر می‌شود.

  3. تداخل در تنظیمات CDN: اگر از سرویس‌هایی مثل کلودفلر یا ابرآروان استفاده می‌کنید و ارتباط آن‌ها با هاست اصلی شما دچار اختلال شود.

  4. کدهای غیربهینه PHP: وجود حلقه‌های بی‌پایان یا کدهایی که منابع CPU را کاملاً اشغال می‌کنند.

تجربه پی‌پام: بسیاری از سایت‌های شرکتی به دلیل استفاده از قالب‌های سنگین و غیربهینه، در هنگام لود تصاویر پرحجم با خطای 504 مواجه می‌شوند. ما در پی‌پام با بهینه‌سازی کدهای فرانت‌اند، این بارِ اضافی را از روی دوش سرور برمی‌داریم.

اشتباهات رایج در برخورد با خطای 504

بسیاری از افراد به جای حل ریشه‌ای مشکل، سراغ کارهایی می‌روند که فقط صورت مسئله را پاک می‌کند:

  • خرید هاست گران‌تر بدون بررسی کد: اگر کد شما مشکل داشته باشد، حتی قوی‌ترین سرور دنیا هم بعد از مدتی با خطای 504 متوقف می‌شود.

  • پاک کردن کل دیتابیس: برخی به اشتباه فکر می‌کنند با پاک کردن جداول مشکل حل می‌شود، در حالی که مشکل معمولاً از ایندکس نبودن جداول است.

  • نادیده گرفتن لاگ‌های سرور: خطای ۵۰۴ ردپای مشخصی در error_log هاست دارد که اکثر مدیران سایت آن را چک نمی‌کنند.

چطور خطای 504 را حل کنیم؟ 

در اینجا ۵ گام طلایی برای رفع این مشکل را بررسی می‌کنیم:

افزایش زمان انتظار در فایل .htaccess

اگر سایت شما نیاز به زمان بیشتری برای پردازش دارد، باید این اجازه را در فایل تنظیمات هاست صادر کنید. وارد File Manager هاست خود شده و کد زیر را به .htaccess اضافه کنید:

Apache
php_value max_execution_time 300

این کار زمان مجاز برای اجرای کدهای PHP را به ۵ دقیقه افزایش می‌دهد.

بهینه‌سازی جداول دیتابیس (Database Optimization)

دیتابیس شلوغ باعث کندی پاسخگویی سرور می‌شود. وارد phpMyAdmin شوید، تمام جداول را انتخاب کنید و از منوی پایین گزینه Optimize Table را انتخاب کنید. این کار به طرز چشم‌گیری سرعت پاسخگویی را بالا برده و ریسک خطای 504 را کم می‌کند.

بررسی تنظیمات پروکسی و CDN

اگر از کلودفلر استفاده می‌کنید، یک‌بار آن را روی حالت Pause بگذارید. اگر سایت بدون آن باز شد، یعنی مشکل از تنظیمات DNS یا Firewall در سمت CDN است.

افزایش محدودیت حافظه (Memory Limit)

در فایل wp-config.php وردپرس، کد زیر را اضافه کنید تا سایت فضای تنفس بیشتری داشته باشد:

PHP
define( 'WP_MEMORY_LIMIT', '256M' );

غیرفعال‌سازی افزونه‌های سنگین

گاهی یک افزونه آمارگیر یا امنیتی باعث قفل شدن دیتابیس می‌شود. پوشه plugins را در هاست تغییر نام دهید و ببینید آیا خطای 504 برطرف می‌شود یا خیر.

افزونه های وردپرس
افزونه های وردپرس

سوالات متداول درباره خطای 504

آیا خطای 504 به خاطر اینترنت من است؟ احتمالش ضعیف است. این خطا معمولاً مربوط به سمت سرور است، اما برای اطمینان، سایت را با یک دستگاه دیگر و اینترنت متفاوت تست کنید.

آیا پاک کردن کش وردپرس خطای 504 را حل می‌کند؟ در مواردی که تداخل در فایل‌های کش‌شده وجود داشته باشد، بله. پاک کردن کش افزونه‌هایی مثل WP Rocket می‌تواند موثر باشد.

چرا در سایت‌های وردپرسی خطای 504 بیشتر دیده می‌شود؟ به دلیل نصب افزونه‌های زیاد و غیر استاندارد که باعث مصرف بیش از حد منابع سرور و در نهایت تایم‌اوت می‌شوند.

جمع‌بندی؛ خداحافظی با ارورهای خسته‌کننده

خطای 504 یک هشدار جدی است که می‌گوید سایت شما تحت فشار فنی است. با دنبال کردن مراحلی که گفته شد، می‌توانید تا حد زیادی این مشکل را برطرف کنید. اما به یاد داشته باشید که سایت‌های بزرگ نیاز به نگهداری تخصصی دارند.

سایت خود را به متخصصین پی‌پام بسپارید

مدیریت فنی وب‌سایت، یک کار تمام‌وقت و تخصصی است. اگر شما هم از سر و کله زدن با خطای 504 و سایر ارورهای پیچیده خسته شده‌اید، تیم پی‌پام در کنار شماست.

ما در مجموعه پی‌پام با ارائه خدمات پشتیبانی فنی، سئو و طراحی سایت، این اطمینان را به شما می‌دهیم که وب‌سایتتان همیشه با بالاترین سرعت و بدون هیچ اروری در دسترس مشتریان باشد. تخصص ما، حذف موانع فنی از مسیر موفقیت کسب‌وکار شماست.

administrator

نظر دهید