Hướng dẫn kiểm tra và sửa lỗi 503 service unavailable trên WordPress

Nguyễn Văn Cường 16 phút đọc

Một trong những lỗi phổ biến nhất khi vận hành một website đó là “503 service unavailable”, vậy 503 service unavailable là gì?, tại sao website lại hiển thị lỗi này?, làm sao để khắc phục lỗi này?… trong bài viết này tôi sẽ giải đáp những vấn đề trên để giúp cho bạn có cái nhìn khái quát hơn trong việc xử lý sự cố này cho website WordPress của mình.

Lỗi 503 service unavailable là gì?

503 service unavailable (Được hiểu là “Dịch vụ không khả dụng”) là một HTTP response status code chỉ ra rằng máy chủ tạm thời không phản hồi được các yêu cầu được gọi từ phía người dùng do quá tải hoặc bị tạm dừng hoạt động.

Các mã lỗi 503 mà bạn có thể gặp:

Tất cả các mã trạng thái phản hồi HTTP trong 5xx được hiểu là lỗi từ phía máy chủ, với mỗi cấu hình máy chủ mà lỗi hiển thị sẽ có sự khác nhau:

  • 503 Service Unavailable.
  • 503 Service Temporarily Unavailable.
  • HTTP/1.1 Service Unavailable.
  • HTTP Server Error 503.
  • 503 Error.
  • HTTP 503.
  • HTTP Error 503.

Nguyên nhân gây ra lỗi 503 Service Unavailable?

Điều tiên quyết với website WordPress khi gặp mã lỗi này là phải thực hiện từng bước đế xác định lý do chính xác đã gây ra, nó có thể do các nguyên nhân sau:

  • Plugins, theme bị lỗi hoặc xung đột.
  • Các hàm, tập lệnh PHP nào đó không hoạt động đúng.
  • Tài nguyên của máy chủ không đủ.
  • Website nhiễm mã độc.
  • Lỗi do máy chủ.
  • Bị tấn công từ chối dịch vụ (DDoS).

Cách khắc phục lỗi 503

Lỗi phát sinh từ Plugins, Theme.

Một trong những nguyên nhân phổ biến gây ra lỗi này là các Plugins, Theme được cài đặt trên website đang bị lỗi hoặc đang xung đột với nhau.

Khi bạn vừa cài đặt một Plugins, Theme và website báo lỗi 503 Service Unavailable thì đây chính là nguyên nhân gây ra lỗi. Lúc này, ban chỉ cần gỡ bỏ plugin, theme vừa cài đặt là được.

Tại bước này, thường thì bạn sẽ phải truy cập trực tiếp Hosting hoặc FTP vì trang quản trị website WordPress tại thời điểm này không thể truy cập được.

Nếu bạn đang sử dụng Hosting WordPress v3 tại Mắt Bão, thì bạn có thể sử dụng công cụ WordPress Toolkit để bật, tắt, thêm, xóa Plugins, Theme một cách dễ dàng.

  • Bước 1: Truy cập vào trang quản trị Hosting WordPress. Bảng điều khiển WordPress Tookit sẽ hiển thị ra danh sách các Plugins, Theme đang được cài đặt trên website.
  • Bước 2: Nhấn vào Plugins, Themes và tắt tất cả các plugin, theme mà bạn nghi ngờ chúng đang gây ra lỗi cho website của bạn.
  • Bước 3: Sau khi tắt các Plugins, Themes, bạn cần truy cập lại website để kiểm tra. Nếu website đã hoạt động trở lại thì bạn nên gỡ bỏ hoặc thay thế bằng một plugin khác, có chức năng tương tự và hơn hết là tương thích tốt với website của bạn.

Một tùy chọn khác áp dụng được với hầu hết các trình quản trị Hosting đó là truy cập thông qua tài khoản FTP.

  • Bước 1: Sử dụng phần mềm FileZilla hoặc bất kỳ phần mềm hỗ trợ truy cập thông qua giao thức FTP để kết nối với Hosting.
  • Bước 2: Bạn truy cập lần lượt theo cấu trúc sau: public_html/wp-content/ hoặc httpdocs/wp-content (tùy thục theo cấu hình máy chủ của bạn mà cấu trúc sẽ khác nhau). Lúc này bạn sẽ thấy thư mục plugins themes của website.
  • Bước 3: Bạn tiến hành đổi tên thư mục plugins thành plugins_old ( hoặc themes thành themes_old). Thao tác này sẽ giúp bạn tắt tất cả các Plugins (hoặc Themes) hiện đang được cài đặt trong WordPress. Bạn cần truy cập lại trang quản trị website, nếu truy cập thành công thì co thể Plugins hoặc Theme nào đó đang gây ra lỗi.
  • Bước 4: Bạn thực hiện đổi lại tên của các thư mục trên về lại như cũ plugins_old thành plugins, themes_old thành themes. Sau đó truy cập vào trang quản trị website WordPress và tiến hành kích hoạt lần lượt từng Plugin, Themes để xác định lỗi gây ra từ Plugin cụ thể nào.

Lỗi do các hàm, tập lệnh PHP chạy không đúng

Sử dụng tính năng Debug

Với mã nguồn WordPress, bạn có thể bật tính năng Debug bằng cách thêm đoạn code sau:

define ('WP_DEBUG', true);

vào file wp-config.php của website.

Nếu bạn đang sử dụng Hosting WordPress v3 tại Mắt Bão, bạn có thể truy cập vào WordPress Toolkit , bạn chỉ cần nhấn vào nút bật Debugging (Kiểm tra lỗi) là được.

Lúc này bạn cần truy cập lại website, nếu có bật kỳ lỗi hoặc xung đột nào thì sẽ được hiển thị ra màn hình (thông thường sẻ hiển thị lỗi ở đầu trang).

Sử dụng hệ thống Logs (nhật ký hoạt động)

Trên các hệ thống máy chủ đều có hê thống ghi Logs (lịch sử hoạt động trên máy chủ), bạn có thể xem chi tiết các lỗi mà website đang gặp phải không riêng gì các hàm hay tập lệnh PHP.

Sử dụng Plugins

Khi website WordPress của bạn đang hoạt động bình thường, bạn có thể cài đặt plugin Query Monitor hoặc Debug Bar để kiểm tra các hàm, tập lệnh, query đang chạy.

Sau khi xác định được các hàm, tập lệnh đang bị lỗi, bạn có thể sửa lại hoặc xóa đi để website có thể hoạt đông trở lại. Bạn chỉ nên thực hiện khi biết rõ hàm hoặc tập lệnh trên hoạt động như thế nào. Nếu bạn rõ về nó, hãy để phần việc đó cho các lập trình viên chuyên nghiệp vì một thao tác sai cũng có thể dẫn tới hàng tá lỗi về sau.

Tài nguyên của máy chủ không đủ

Rất nhiều trường hợp Plugins, Themes, tiến trình backup tự động, lấy dữ liệu tự động, tiến trình đồng bộ… có dung lượng lớn, chạy liên tục và đòi hỏi nhiều tài khi hoạt động rất có thể sẽ gây ra lỗi 503 Service Unavailable.

dịch vụ đăng ký Hosting WordPress Mắt Bão

Lúc này, bạn sẽ cần tiến hành tắt các Plugins, Themes hoặc các tiến tình tự động để kiểm tra và theo dõi.

Một số website được thiết kế, xây dựng có quá nhiều request (yêu cầu truy xuất) vào trong database cũng có thể gây chậm và hiển thị lỗi trên. Bạn sẽ cần tiến hành tối ưu lại website để giảm các request này xuống, giúp cho website nhẹ và dành tài nguyên vào các tác vụ khác của website. Tham khảo hướng dẫn tối ưu website với Plugin WP Rocket tại đây.

Ngoài ra, một số trường hợp máy chủ bị vượt quá dung lượng khiến cho website cũng có thể hiển thị lỗi trên. Nếu là trường hợp này, bạn cần truy cập trang quản lý dịch vụ để mở tạm hoặc liên hệ nhà cung cấp Hosting để được hỗ trợ.

Sau khi Hosting đã được mở tạm, bạn cần kiểm tra các tập tin có dung lượng lớn và tiến hành xóa bỏ để giải phóng dung lượng cho Hosting của bạn.

Website bị nhiễm mã độc

Khi website bị nhiễm mã độc, các tập tin bị chèn các đoạn mã độc khiến cho cấu trúc của các tệp tin, các hàm hoạt động không đúng và gây ra lỗi 503 Service Unavailable.

Ngoài ra, các hệ thống máy chủ được cài đặt các công cụ bảo mật, tường lửa có cơ chế cách ly các file bị nhiễm mã độc để tránh lây lan ra toàn bộ website. Lúc này website sẽ thiếu các file cần thiết để chạy và có thể gây ra lỗi trên.

Nếu nguyên nhân là do mã độc, thì bạn sẽ cần tiến hành các bước để quét và loại bỏ mã độc ra khỏi website.

Bạn có thể tham khảo các hướng dẫn xử lý mã độc theo các bài hướng dẫn dưới đây:

Lỗi do máy chủ

Nếu bạn đã thực hiện các bước trên mà mã lỗi 503 Service Unavailable vẫn còn, vậy nó có thể liên quan đến máy chủ của bạn.

Các lỗi này có thể xuất hiện và tự biến mất sau vài phút khi máy chủ ổn định trở lại, nếu lỗi không tự khắc phục, bạn có thể thử một số giải pháp sau:

Thực hiện restart PHP hoặc máy chủ:

Bạn có thể truy cập trực tiếp vào trang quản trị Hosting và tiến hành chọ một phiên bản PHP khác. Khi thực hiện thao tác này, các tiến trình PHP sẽ được ngắt tạm thời và sẽ chạy lại từ đầu.

Nếu bạn đang sử dụng dịch vụ Cloud Server/VPS, bạn có thể chạy lệnh Reboot để khởi động lại máy chủ.

Bạn có thể tham khảo:

Tăng cấu hình của máy chủ:

Nếu bạn đang sử dụng một Share Hosting hoặc Clopud Server/VPS có cấu hình thấp, thì bạn nên nâng cấp lên gói dịch vụ có cấu hình cao hơn để đáp ứng với nhu cầu hoạt động của website.

Giới hạn thu thập dữ liệu, BOT tự động của các công cụ tìm kiếm:

Một số trường hợp các công cụ tìm kiếm như Google thường xuyên chạy các tập lệnh chuyên dụng, các BOT tự động để thu thâp dữ liệu khiến cho tài nguyên sử dụng bị tăng cao.

Bạn sẽ cần thiết lập lại tần suất thu thập dữ liệu cũng như hạn chế các BOT tự động được phép truy cập vào website.

Để thiết lập với Google Seach Consle, bạn làm theo các bước sau:

  • Bước 1: Truy cập link sau: https://www.google.com/webmasters/tools/googlebot-report
  • Bước 2: Chọn website và điền đầy đủ các thông tin của website vào biểu mẫu:
    • From what IP addresses are you seeing Googlebot activity? (Từ địa chỉ IP nào bạn đang thấy hoạt động của Googlebot?)
    • For which user-agent are you seeing Googlebot activity? (Đối với tác nhân người dùng nào bạn đang thấy hoạt động của Googlebot?)
    • How many times a day does Googlebot access your site? (Googlebot truy cập trang web của bạn bao nhiêu lần một ngày?)
    • Additional details (Please also include a portion of the weblog that shows Google accesses so we can track down the problem quickly) (Chi tiết bổ xung)
  • Bước 3: Nhấn nút Send Report để Google xem xét điều chỉnh lại giới hạn BOT tự động vào website của bạn.

Giới hạn WordPress Heartbeat:

WordPress Heartbeat chịu trách nhiệm cho việc tự động lưu bài viết, và các tính năng liên quan đến thời gian thực.

WordPress Heartbeat API mở những tập tin liên quan như admin-ajax.php cùng với những truy vấn khác khi bạn đăng nhập vào WordPress.

Để làm được điều đó, bạn có thể thêm đoạn code sau vào tập tin functions.php của giao diện.

<?php 
add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() { 
      wp_deregister_script('heartbeat');
}

Sau khi thêm đoạn code trên, bạn cần truy cập lại website của mình, nếu lỗi trên được xử lý và không có bất lỳ vấn đề nào phát sinh, chúc mừng bạn, lỗi trên đã được xử lý.

Nếu bạn đang sử dụng dịch vụ Hosting hoặc Cloud Server có sử dụng dịch vụ quản trị, bạn có thể liên hệ nhà cung cấp dịch vụ để được kiểm tra và hỗ trợ thêm.

Bị tấn công (DDoS)

Một nguyên nhân mà bạn không thể bỏ qua đó là các cuộc tấn công DDOS. Khi website bị tấn công DDOS, một lượng lớn truy cập vào website sẽ khiến cho máy chủ mất nhiều tài nguyên để xử lý.

Đến một ngưỡng nào đó, hệ thống máy chủ không đủ tài nguyên để đáp ứng sẽ hiển thị lỗi 503 service unavailable.

Tại thời điểm hiện tại, chưa một nhà cung cấp nào có thể khẳng định có thể chống lại 100% mọi cuộc tấn công DDOS. Một số phương pháp như chặn dải IP tấn công, xây dựng hệ thống hứng DDOS có thể cải thiện vấn đề này.

Kết luận

Dù nguyên nhân lỗi là gì, bạn nên theo dõi website của mình thường xuyên và tìm các phương án sử lý kịp thời nếu có sự cố phát sinh.

Tôi hy vọng bài viết này sẽ giúp bạn hiểu rõ hơn về lỗi 503 và cách khắc phục cho website của mình. Không chỉ là mã nguồn WordPress, mà những mã nguồn khác bạn cũng có thể dựa theo một số hướng dẫn trên để xử lý.

Nếu bạn đã biết những nguyên nhân và cách xử lý cho các lỗi 503, đừng ngần ngại cho tôi biết ý kiến của bạn vào phần bình luận bên dưới nhé.