Lỗi 500 Internal Server Error xảy ra do một số sự cố trên trang web của máy chủ, ví dụ như lỗi kết nối dữ liệu, lỗi tệp .htaccess hay thậm chí là không thể xác định được chính xác nguyên nhân gây ra lỗi.
Trong bài viết này, BKHOST sẽ giúp bạn tìm ra các nguyên nhân cũng như những cách khắc phục lỗi 500 Internal Server Error một cách nhanh chóng và hiệu quả nhất.
Lỗi 500 Internal Server Error là gì?
Lỗi HTTP Error 500, hay còn được gọi là “Internal Server Error“, là một trong những lỗi phổ biến khi truy cập vào trang web. Đây là lỗi xảy ra bởi những vấn đề liên quan đến phía máy chủ. Nếu bạn là một chủ sở hữu trang web, việc hiểu và khắc phục HTTP Error 500 là rất quan trọng để đảm bảo rằng trang web của bạn hoạt động ổn định và khách hàng có thể truy cập trang web của bạn một cách dễ dàng.
Nguyên nhân gây ra vấn đề lỗi 500 Internal Server Error?
Lỗi 500 Internal Server Error có thể do nhiều nguyên nhân khác nhau:
- Lỗi mã lệnh (code error): Khi mã lệnh của trang web bị lỗi, nó có thể dẫn đến lỗi HTTP Error 500.
- Lỗi cấu hình (configuration error): Cấu hình sai trong file cấu hình trang web có thể dẫn đến lỗi này.
- Lỗi máy chủ (server error): Lỗi phía máy chủ cũng có thể dẫn đến lỗi HTTP Error 500.
- Lỗi cơ sở dữ liệu (database error): Khi cơ sở dữ liệu của trang web gặp vấn đề, nó có thể dẫn đến lỗi này.
Lỗi 500 Internal Server Error ảnh hưởng đến SEO
Lỗi 500 Internal Server Error gây nên nhiều ảnh hưởng tiêu cực đến SEO nếu như nó không được khắc phục kịp thời. Có hai trường hợp lỗi mà bạn sẽ gặp:
- Trường hợp thứ nhất: Nếu như trang web ngừng hoạt động trong thời gian ngắn thì những thông tin của web sẽ được thu thập liên tục và phân phối từ bộ nhớ đệm. Trong trường hợp này, trang web máy chủ của bạn sẽ không xuất hiện mối nguy hại nào.
- Trường hợp thứ hai: Trang web ngừng hoạt động trong một thời gian dài và không có bất kỳ dấu hiệu nào của việc thu thập thông tin được diễn ra. Điều này chắc chắn rằng máy chủ của bạn đã xảy ra lỗi 500 Internal Server Error. Nếu không được khắc phục kịp thời, trang web của bạn sẽ bị tụt thứ hạng chỉ trong một thời gian ngắn.
Sau đây là một số phương pháp mà BKHOST đã tìm hiểu, hy vọng có thể giúp bạn khắc phục lỗi 500 Internal Server Error trên WordPress nhanh chóng và hiệu quả nhất.
Một số cách sửa lỗi 500 Internal Server Error hiệu quả
Sau khi kiểm tra ra các nguyên nhân, hãy tìm cách khắc phục lỗi 500 Internal Server Error (500 máy chủ nội bộ) mà bạn có thể tự mình thực hiện. Sau đây là một số cách hữu ích dành cho bạn:
1. Thử tải lại trang
Lỗi 500 Internal Server Error là một lỗi tạm thời có thể xảy ra thường xuyên trên trang web máy chủ. Cách khắc phục cũng khá đơn giản, bạn chỉ cần tải lại trang web mà mình đang truy cập.
Hoặc cách khác là dán url trang web bị lỗi vào downforeveryoneorjustme.com để kiểm tra xem nó có vấn đề gì hay không.
2. Xóa bộ nhớ đệm của trình duyệt
Xoá bộ nhớ đệm cũng là một cách khắc phục sự cố nhanh nhất khi gặp lỗi 500 Internal Server Error trên trang web trước khi thực hiện các phương pháp khác chuyên sâu hơn. Hãy tìm và xóa đi những bộ nhớ không cần thiết sẽ giúp cho hiệu suất của trang web được cải thiện rõ rệt.
3. Kiểm tra nhật ký máy chủ
Đối với một số trường hợp, trang web của bạn có quá nhiều thông tin tìm kiếm được lưu trữ trong lịch sử nhật ký. Điều này sẽ làm tăng thêm bộ nhớ đệm khiến cho hiệu suất hoạt động của trình duyệt trở nên kém hơn.
Nếu như nguyên nhân do lỗi PHP, bạn có thể xử lý các lệnh trong bảng điều khiển của Google Chrome DevTools để khắc phục:
{{EJS0}}
Hoặc thao tác sửa đổi tệp php.ini với lệnh:
{{EJS1}}
4. Lỗi khi thiết lập kết nối cơ sở dữ liệu
Lỗi 500 Internal Server Error sẽ xảy ra nếu như các kết nối cơ sở dữ liệu của máy chủ có vấn đề. Các trình duyệt khác nhau sẽ hiển thị lỗi không giống nhau, tuy nhiên chúng đều có mã trạng thái HTTP trong nhật ký bị lỗi.
Dưới đây là hình ảnh ví dụ về lỗi thiết lập kết nối cơ sở dữ liệu của trình duyệt:
Nguyên nhân:
- Sai thông tin đăng nhập.
- Cơ sở dữ liệu WordPress bị lỗi.
- Các tệp tin của WordPress bị lỗi, hư hỏng.
- Xảy ra sự cố với máy chủ cơ sở dữ liệu.
5. Kiểm tra các plugin và chủ đề trên máy chủ
Đa số các lỗi 500 Internal Server Error đều xuất phát từ plugin hoặc các theme trên máy chủ, chẳng hạn như plugin thanh trượt hay vòng quay quảng cáo.
Cách khắc phục là tắt tất cả các plugin bằng cách truy cập đến mục Plugin sau đó chọn Deactivate.
Để tìm ra plugin hoạt động sai, bạn hãy kích hoạt từng cái một và tải lại trang web sau mỗi lần thực hiện. Nếu cái nào xuất hiện lỗi 500 Internal Server Error, bạn có thể liên hệ với nhà phát triển plugin yêu cầu trợ giúp hoặc đăng ký phiếu hỗ trợ trong kho lưu trữ WordPress.
Nếu không thể đăng nhập vào WordPress, hãy đổi tên thư mục plugin thành “phugins_old” sau đó kiểm tra lại trang web. Thực hiện liên tục các thao tác cho đến khi tìm ra lỗi.
6. Cài đặt lại WordPress Core máy chủ
Phương pháp cài đặt lại các tệp WordPress Core sẽ không làm ảnh hướng đến các theme, plugin hay nội dung đăng web.
Cách khắc phục lỗi WordPress từ bảng điều khiển máy chủ:
Tìm Bảng điều khiển sau đó nhấn chọn “Cập nhật”.
Trên màn hình hiển thị nhấn chọn “Cài đặt lại ngay”.
WordPress sẽ tự động cài đặt lại trong khoảng vài giây, sau đó bạn sẽ thấy trang chào mừng:
7. Lỗi quyền
Quyền đối với tệp và thư mục giống như một lớp bảo mật giúp bảo vệ khỏi sự xâm nhập từ bên ngoài. Một số mẹo về quyền cho tệp và thư mục trong WordPress như sau:
- Tất cả các tệp phải là 644 (-rw-r – r–) hoặc 640.
- Tất cả các thư mục của WordPress phải là 755 (drwxr-xr-x) hoặc 750.
- Không nên có thư mục nào được cung cấp 777, ngay cả khi tải lên các thư mục.
- wp-config.php cũng có thể được đặt thành 440 hoặc 400.
Hoặc có thể xem các quyền đối với tệp và thư mục qua FTP:
8. Giới hạn bộ nhớ PHP của máy chủ
Bộ nhớ PHP bị giới hạn cũng là nguyên nhân gây ra lỗi 500 Internal Server Error trên máy chủ. Cách khắc phục nhanh nhất cho bạn là hãy thay đổi giới hạn dung lượng trong cPanel, Apache, php.ini hay wp-config.php trên máy chủ của bạn.
Tăng giới hạn bộ nhớ PHP trong cPanel
Tại cPanel nhấn chọn “Select PHP Version” (chọn phiên bản PHP).
Chọn “Switch to PHP Options” (Chuyển sang Tùy chọn PHP).
Nhấn chọn vào “memory_limit” , sau đó chọn “Save”.
Tăng giới hạn bộ nhớ PHP trong Apache
Lựa chọn sử dụng tệp ẩn .htaccess để giới hạn dung lượng bộ nhớ của máy chủ trong Apache bằng cách đăng nhập trang web qua FTP và tìm tệp .htaccess.
Để tăng giới hạn bộ nhớ PHP, hãy thêm mã “php_value memory_limit 128M“ vào tệp .htaccess
php_value memory_limit 128M
Tăng giới hạn bộ nhớ PHP trong tệp php.ini
Một cách khác giúp bạn tối ưu hoá bộ nhớ đó là chỉnh sửa tệp php.ini bằng cách đăng nhập trang web qua FTP/SSH và tới thư mục gốc:
Nếu như không thấy tệp, hãy gán memory_limit = 128M để cài đặt và sửa đổi theo nhu cầu.
{{EJS2}}
Nếu máy chủ yêu cầu thêm chỉ thị suPHP, hãy chỉnh sửa tệp .htaccess tại thư mục gốc và thêm mã:
{{EJS3}}
Nếu máy chủ khóa cài đặt chung, để chỉnh sửa tệp .user.ini hãy chọn đăng nhập web qua FTP/SSH. Sau đó đi tới thư mục gốc để tạo tệp .user.ini và dán mã
{{EJS4}}
Tăng giới hạn bộ nhớ PHP trong wp-config.php
Hãy đăng nhập trang web qua FTP/SSH, sau đó tìm kiếm tệp wp-config.php trong thư mục gốc.
Sau đó hãy thêm code vào đầu tệp wp-config.php.
{{EJS5}}
9. Sự cố với tệp .htaccess của máy chủ
Lỗi hỏng tệp .htaccess cũng là nguyên nhân gây ra nhiều rắc rối cho máy chủ. Để khắc phục sự cố này, hãy tạo tệp .htaccess mới:
Đăng nhập trang web qua FTP/SSH để đổi tên tệp .htaccess thành tệp .htaccess_old.
Nếu như không đăng nhập được WordPress, hãy tạo một tệp .htaccess mới và nhập:
{{EJS6}}
10. Lỗi mã hóa hoặc cú pháp trong tập lệnh CGI / Perl
Một số mẹo khi làm việc với tập lệnh CGI trên máy chủ:
- Sử dụng văn bản thuần túy như Atom hay Sublime để chỉnh sửa và soạn thảo văn bản.
- Đảm bảo các quyền của chmod 755 luôn chính xác và được sử dụng trên các tập lệnh và thư mục CGI.
- Chọn chế độ ASCII để tải các tập lệnh CGI vào thư mục cgi-bin.
- Đảm bảo rằng các mô-đun Perl đã được cài đặt.
11. Kiểm tra sự cố máy chủ
Lỗi 500 internal server errors xảy ra do PHP đã hết thời gian chờ hoặc bị lỗi với các plugin. Lỗi thời gian chờ cũng có thể xảy ra khi PHP workers khởi tạo một hàng chờ trên trang web.
Ví dụ:
{{EJS7}}
{{EJS8}}
Để tránh những sự cố về máy chủ xảy ra trên trang web, bạn có thể sử dụng updown.io như một công cụ giúp bạn có thể theo dõi và nhận thông báo định kỳ đến URL hoặc email của mình. Công cụ này còn cho phép bạn đặt tần số kiểm tra từ 15 giây đến 10 phút.
Tổng kết về lỗi 500 Internal Server Error
Như vậy bài viết trên đây chúng tôi đã khái quát cho bạn về lỗi 500 Internal Server Error và những cách sửa lỗi hiệu quả.
Nếu bạn còn bất cứ câu hỏi nào liên quan đến lỗi 500 Internal Server Error, hãy để lại ở bên bình luận bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.
P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.