Làm thế nào để sửa lỗi 504 gateway time-out trong WordPress

Làm thế nào để sửa lỗi 504 gateway time-out trong WordPress

Lỗi 504 gateway time-out là HTTP status codes mà server trả về khi server không nhận được phản hồi kịp thời từ server mà nó đang truy cập để cố tải trang web hoặc thực hiện một yêu cầu nào đó từ server.

Mặc dù nó ít xảy ra hơn lỗi 500 internal server error hay lỗi 502 bad gateway error. Mọi người ắt hẵn đã thấy lỗi này ít nhất vài lần khi truy cập trên Internet. Bài hướng dẫn này sẽ giải thích cho bạn biết 504 gateway time-out error là lỗi gì và làm thế nào để xử lý nó.

Lỗi 504 gateway time-out là gì?

HTTP status codes bắt đầu với số “5” là lỗi liên quan đến server. Lỗi này xuất hiện khi server không thể hoàn tất yêu cầu vì bị mất liên lạc khi thực hiện giao tiếp giữa các server với nhau. Khi bạn truy cập bất kỳ website nào, bạn sẽ gửi truy vấn tới website và các web servers sẽ xử lý truy vấn đó. Mỗi lần xử lý, server trả về HTTP status code với nội dung/tài nguyên được yêu cầu. Mặc định, HTTP status code sẽ không được hiển thị trừ khi có lỗi trong quá trình xử lý.

Như đã nói ở trên, 504 gateway time-out lỗi khi một server không nhận được phản hồi trong thời gian cho phép từ server gateway hay proxy khác. Lỗi 504 gateway time-out

Lỗi 504 gateway time-out cũng có nhiều dạng. Ví như bên dưới:

504 Gateway Timeout nginx
Gateway Timeout Error
HTTP Error 504
504 Gateway Time-out – The server didn’t respond in time
HTTP Error 504 – Gateway Timeout

Làm thế nào để sửa lỗi 504 gateway time-out

Mặc dù kể cả khi lỗi 504 thường do phía server, nhưng có một số lý do cũng do cấu hình sai từ phía client. Vì vậy, chúng tôi sẽ đi qua bài bước cơ bản để bạn có thể tự sửa lỗi được. Mặc dù chúng tôi chủ yếu sửa lỗi 504 trên WordPress nhưng bạn cũng có thể áp dụng cách tương tự với các website khác.

1. Tải lại trang

Bước đầu tiên để fix lỗi 504 gateway timeout rất đơn giản. Bạn chỉ cần chờ vài phút và tải lại trang / refresh website. Server trước đây có thể nhận nhiều request hơn bình thường nên không xử lý kịp request. Bạn có thể thử refresh ở thời điểm khác xem vấn nó có xử lý được không.

Trong thời gian chờ đợi, bạn cũng có thể dùng công cụ kiểm tra xem website có bị down hay không. Đây là một cách đơn giản để xác định lỗi có liên quan đến máy local hay không. Hình bên dưới là ví dụ website của bạn vẫn đang UP (hoạt động bình thường), nếu gặp tình trạng này thì bạn biết là do máy local chứ không phải do server.

kiểm tra website có bị down không

2. Thử dùng browser khác

Nếu thấy website hoạt động (Up/Active), nhưng bạn vẫn thấy 504 gateway timeout, thử dùng một trình duyệt khác. Xóa cache hoặc mở incognito mode cũng có thể giúp bạn xử lý nếu lỗi liên quan đến browser đang dùng

3. Flush DNS

Lỗi 504 đôi khi cũng có thể do DNS cache bị lỗi thời hoặc sai. Không khó để xử lý khi gặp tình trạng này, vì bạn chỉ cần Flush DNS là được. Mặc dù cách xóa cache DNS có hơi khác trong các hệ điều hành khác nhau, nhưng đều rất dễ làm, bạn chỉ cần xem qua hướng dẫn flush DNS trên Windows, Linux, và MacOS một lần là làm được.

Tạm thời đổi DNS server thành Google Public DNS cũng có thể giúp bạn xử lý lỗi HTTP status code nếu vấn đề do DNS. Chúng tôi chỉ khuyên dùng cách này nếu bạn có kinh nghiệm về máy tính một chút.

4. Kiểm thử với thiết bị khác

Thử tải lại trang trên các thiết bị khác và trên đường mạng khác như sử dụng điện thoại để truy cập web bằng 4G. Trong trường hợp lỗi này không hiện lên trên điện thoại, bạn sẽ biết là vấn đề nằm ở máy tính của bạn thay vì tưởng là do server.

5. Kiểm tra Error Log

504 gateway time-out error cũng có thể xuất hiện do cập nhật hoặc website mới thay đổi. Cách dễ nhất là tìm trong error log. WordPress users có thể kích hoạt việc ghi lỗi bằng cách thêm các dòng sau vào file wp-config.php:

define( 'WP_DEBUG', true ); 
define( 'WP_DEBUG_LOG', true ); 
define( 'WP_DEBUG_DISPLAY', false );

Khi hoàn tất, các thông tin sẽ được lưu vào file wp-contents/debug.log.File error log WordPress

6. Kiểm tra lại Plugins

Trong quá trình tìm cách sửa lỗi 504 gateway time-out, bạn nên chú ý tới plugins và extensions. Trong WordPress, plugin có khả năng cache cũng có thể gây ra tình trạng này. Plugin lỗi thời hoặc không tương thích cũng có thể gây lỗi. Vì vậy, vô hiệu toàn bộ plugin sẽ cho bạn biết lỗi có liên quan đến plugin hay không.

Cách vô hiệu plugin WordPress rất đơn giản, chỉ cần chuyển tới thư mục wp-content và đặt tên folder plugins thành tên khác, ví dụ như plugins.disable.Vô hiệu toàn bộ plugin wordpress

Nếu site của bạn chạy lại thì lỗi dĩ nhiên liên quan đến plugin. Bước tiếp theo bạn cần xác định chính xác plugin nào gây lỗi HTTP error 504. Đổi tên plugins.disable ngược lại thành plugins và thử vô hiệu tuần tự từng plugins.vô hiệu plugin wordpress

7. Kiểm tra CDNs

Nếu bạn đang dùng CDN để tăng tốc nội dung, bạn có thể thử kiểm tra lại xem mọi thứ ổn không từ CDN của bạn. Một trong số các lý do thường thấy là do CloudFlare, hoạt động như là một CDN và dịch giảm tấn công DDoS. Trong quá trình sử dụng, bạn có thể gặp 2 phiên bản 504 gateway time-out như sau:504 gateway timeout error in CloudFlare - version 1Phiên bản lỗi 504 là do phía CloudFlare. Cách tốt nhất là liên hệ với bên CloudFlare để được hỗ trợ hoặc tạm thời vô hiệu nó hoàn toàn. Tuy nhiên, nếu bạn vô hiệu nó, bạn có thể phải chờ vài giờ để DNS được quảng bá.504 gateway timeout trên cloudflare

Phiên bản bên dưới là do liên quan đến nhà cung cấp web hosting. Nếu gặp tình trạng này bạn hãy tiếp tục thực hiện bước tiếp theo

8. Điều chỉnh cấu hình Server

Có một số cách khác để sửa lỗi 504 gateway time-out: tăng thời gian time-out trên server và nâng tài nguyên lên, bằng những cách như thuê VPS SSD thay vì VPS thông thường.

Sửa lỗi 504 gateway time-out Apache

Apache users có thể tăng thời gian timeout mặc định lên trong file httpd.conf file. Ví dụ:

# Timeout: The number of seconds before receives and sends time out.
Timeout 600

Hơn nữa, hãy tăng thêm giới hạn max_execution_time trong file php.ini:

max_execution_time 300

Lưu lại thay đổi, khởi động apache và kiểm tra lại. 504 gateway timeout error sẽ biến mất nếu nguyên do là không đủ tài nguyên hoặc thời gian để xử lý.

Sửa lỗi 504 gateway time-out Nginx

504 gateway timeout Nginx xảy ra do nhiều nguyên do liên quan đến việc phân phối nội dung phía backend. Thường do server hoạt động dưới dạng gateway hoặc proxy không đủ thời gian nhận phản hồi từ upstream server.

Vậy trên VPS Nginx, hãy thử tăng giới hạn time-out trong file /etc/nginx/conf.d/timeout.conf:

proxy_connect_timeout 600; 
proxy_send_timeout 600; 
proxy_read_timeout 600; 
send_timeout 600;

Chúng tôi cũng khuyên tăng giới hạn max_execution_time trong php.ini:

max_execution_time 300

Khi lưu xong thay đổi, hãy khởi động lại Nginx và thử truy cập website lần nữa. Bạn sẽ thấy lỗi 504 gateway time-out Nginx đã được sửa.

9. Liên hệ đội ngũ hỗ trợ kỹ thuật

Cuối cùng, 504 gateway time-out vẫn còn xuất hiện trên website của bạn sau khi đã thử toàn bộ các cách ở trên, chúng tôi khuyên là hãy liên hệ với nhà cung cấp hosting của bạn. Thử mô tả toàn bộ chi tiết quá trình bạn sửa lỗi và cung cấp nhiều thông tin cần thiết để nhân viên chúng tôi sửa nhanh hơn cho bạn.

Lời kết

Trong bài hướng dẫn này, chúng tôi đã chỉ bạn một số bước cơ bản để sửa lỗi 504 gateway time-out. Nếu bạn có bất kỳ thủ thuật nào khác để sửa lỗi, một số mẹo nào khác, hãy để lại bình luận bên dưới nhé!

Author
Tác giả

Hai G.

Hải G. là chuyên gia quản lý, vận hành các dịch vụ website. Anh có nhiều năm kinh nghiệm về VPS, Hosting, technical SEO, CMS. Đặc biệt yêu thích WordPress và đã dùng nó hơn 5 năm nay. Sở thích của anh là đọc, viết blog, đi du lịch và tư vấn cho các bạn trẻ khởi nghiệp.