Lỗi 500 Internal Server Error: Cách khắc phục · VibeVPS
Lỗi 500 Internal Server Error: Nguyên nhân và cách khắc phục
Lỗi 500 khiến website không thể tải nội dung dù địa chỉ truy cập vẫn đúng. Bài viết hướng dẫn nhận biết nguyên nhân và kiểm tra, xử lý lỗi theo từng bước.
Lỗi 502 Bad Gateway có thể khiến website không truy cập được dù máy chủ vẫn hoạt động. Bài viết hướng dẫn cách xác định nguyên nhân và xử lý trên hosting hoặc VPS.
#lỗi 502
#Bad Gateway
#cách sửa lỗi 502
VVibeVPS
Sẵn sàng triển khai?
Đưa website của bạn lên Cloud VPS ngay hôm nay
Khởi tạo tự động ngay sau khi thanh toán, chuyển khoản bằng mã QR, bật tắt và cài lại máy chủ trong trang quản lý.
Lỗi 500 Internal Server Error có thể xuất hiện bất ngờ khi bạn truy cập website, đăng nhập trang quản trị hoặc gửi biểu mẫu. Thông báo này thường không cho biết chính xác thành phần nào gặp sự cố, vì vậy người quản trị cần kiểm tra từ dấu hiệu đơn giản đến cấu hình máy chủ. Bài viết dưới đây giải thích lỗi 500 là gì, những nguyên nhân thường gặp và cách sửa lỗi 500 theo từng bước để bạn xử lý an toàn, hạn chế ảnh hưởng đến website.
Lỗi 500 Internal Server Error là gì?
Quản trị viên kiểm tra trang web gặp lỗi trên màn hình
Lỗi 500 là mã trạng thái HTTP cho biết máy chủ gặp tình trạng bất thường và không thể hoàn thành yêu cầu từ trình duyệt. Trình duyệt vẫn gửi yêu cầu đến đúng địa chỉ, nhưng máy chủ không trả về trang như mong đợi. Thay vì nội dung website, người dùng có thể thấy các thông báo như “500 Internal Server Error”, “HTTP Error 500”, “The website cannot display the page” hoặc một trang lỗi do đơn vị lưu trữ thiết kế.
Khác với lỗi 404 thường liên quan đến trang không tồn tại, lỗi 500 cho biết vấn đề nằm ở phía máy chủ hoặc ứng dụng web. Đây là một mã lỗi tổng quát: cùng một thông báo có thể bắt nguồn từ mã nguồn, cơ sở dữ liệu, cấu hình, tài nguyên máy chủ hoặc một dịch vụ phụ trợ. Vì vậy, chỉ nhìn trang báo lỗi thường chưa đủ để xác định nguyên nhân.
Nếu bạn là khách truy cập, hãy tải lại trang sau ít phút, thử cửa sổ riêng tư hoặc liên hệ quản trị website nếu lỗi vẫn tiếp diễn. Nếu bạn quản lý website, hãy ghi nhận thời điểm và địa chỉ trang bị lỗi, sau đó kiểm tra nhật ký máy chủ trước khi thay đổi cấu hình. Việc xác định lỗi bắt đầu sau thao tác nào thường giúp rút ngắn đáng kể thời gian xử lý.
Nguyên nhân thường gặp gây lỗi 500
Kỹ thuật viên kiểm tra máy chủ để tìm nguyên nhân lỗi 500
Lỗi 500 có thể phát sinh từ nhiều lớp trong hệ thống. Dưới đây là các nguyên nhân phổ biến cần ưu tiên kiểm tra:
Lỗi trong mã nguồn hoặc ứng dụng: Một đoạn mã mới, bản cập nhật chưa tương thích, lỗi cú pháp hoặc thao tác xử lý dữ liệu không hợp lệ có thể khiến ứng dụng dừng giữa chừng.
Plugin hoặc giao diện xung đột: Với hệ thống quản trị nội dung như WordPress, tiện ích mở rộng hoặc giao diện vừa cài đặt, cập nhật có thể không tương thích với phiên bản hiện tại hoặc với thành phần khác.
Cấu hình sai: Tệp .htaccess, cấu hình máy chủ, đường dẫn ứng dụng, thông tin kết nối cơ sở dữ liệu hoặc thiết lập PHP không chính xác đều có thể khiến yêu cầu bị từ chối.
Quyền truy cập tệp và thư mục không phù hợp: Máy chủ cần quyền cần thiết để đọc tệp hoặc ghi vào một số thư mục. Quyền quá chặt hoặc quá rộng đều có thể gây lỗi và tạo rủi ro bảo mật.
Vượt giới hạn tài nguyên: Website có thể cần nhiều bộ nhớ, thời gian xử lý hoặc tiến trình hơn mức được cấp. Tình trạng này đôi khi xuất hiện khi lượng truy cập tăng, tác vụ chạy lâu hoặc mã nguồn hoạt động kém hiệu quả.
Cơ sở dữ liệu hoặc dịch vụ liên quan gặp sự cố: Máy chủ cơ sở dữ liệu không phản hồi, thông tin kết nối sai hoặc dịch vụ bên ngoài bị gián đoạn có thể khiến ứng dụng không tạo được trang.
Tệp bị thiếu hoặc hỏng: Quá trình tải lên, triển khai bản cập nhật hoặc khôi phục dữ liệu không hoàn tất có thể làm thiếu tệp quan trọng.
Không nên mặc định rằng mọi lỗi 500 đều do hosting. Một website có thể hiển thị cùng thông báo dù nguyên nhân nằm trong mã ứng dụng, cấu hình hoặc dịch vụ cơ sở dữ liệu. Nhật ký lỗi và thời điểm xảy ra sự cố là căn cứ quan trọng để khoanh vùng.
Cách sửa lỗi 500 theo từng bước
Lập trình viên kiểm tra nhật ký và cấu hình để sửa lỗi website
Thực hiện lần lượt các bước dưới đây. Nếu website đang phục vụ khách hàng, hãy sao lưu tệp và cơ sở dữ liệu trước khi chỉnh sửa. Ghi lại thay đổi đã thực hiện để có thể hoàn tác nếu tình hình xấu hơn.
Bước 1: Xác nhận phạm vi và thời điểm lỗi
Mở website bằng một trình duyệt khác hoặc cửa sổ riêng tư để loại trừ lỗi phiên truy cập. Thử trang chủ, một vài trang con và trang quản trị. Nếu chỉ một URL bị lỗi, vấn đề có thể nằm ở chức năng hoặc dữ liệu của trang đó; nếu toàn bộ website đều lỗi, hãy ưu tiên kiểm tra cấu hình chung, ứng dụng và tình trạng máy chủ.
Ghi lại URL, thời điểm, thao tác ngay trước khi lỗi xuất hiện và những thay đổi gần đây, chẳng hạn cập nhật ứng dụng, cài plugin, sửa mã hoặc chuyển máy chủ. Nếu lỗi chỉ xuất hiện với một tài khoản hay một thao tác, thông tin này cũng hữu ích khi xem nhật ký.
Bước 2: Xem nhật ký lỗi máy chủ và ứng dụng
Đăng nhập bảng điều khiển hosting hoặc máy chủ để tìm mục nhật ký lỗi (error log). Tùy môi trường, nhật ký có thể nằm trong bảng điều khiển, thư mục log của website hoặc hệ thống ghi log của máy chủ. Tìm các dòng trùng với thời điểm phát sinh lỗi và kiểm tra thông tin như đường dẫn tệp, tên plugin, lỗi cú pháp, kết nối cơ sở dữ liệu hay giới hạn tài nguyên.
Nếu có thông báo cụ thể, xử lý đúng thành phần được nhắc đến thay vì thay đổi nhiều cài đặt cùng lúc. Không đăng công khai nhật ký chưa được làm sạch, bởi chúng có thể chứa đường dẫn nội bộ hoặc thông tin nhạy cảm. Nếu không có quyền xem log, gửi cho đơn vị quản trị hoặc hỗ trợ kỹ thuật thời gian lỗi và URL liên quan.
Bước 3: Hoàn tác thay đổi gần nhất
Nếu lỗi bắt đầu ngay sau khi cập nhật hoặc chỉnh sửa, hãy ưu tiên hoàn tác đúng thay đổi đó. Khôi phục bản sao lưu của tệp đã sửa hoặc đưa phiên bản ứng dụng về trạng thái ổn định trước đó. Không khôi phục toàn bộ website một cách vội vàng nếu chưa hiểu dữ liệu nào sẽ bị ghi đè; bản sao lưu cũ có thể làm mất nội dung phát sinh sau thời điểm sao lưu.
Với website WordPress, nếu vừa cài hoặc cập nhật plugin, có thể tạm vô hiệu hóa plugin liên quan. Khi không vào được trang quản trị, thực hiện qua trình quản lý tệp hoặc giao thức quản lý tệp được cấp, bằng cách đổi tên thư mục plugin nghi ngờ. Hãy sao lưu trước, chỉ thử từng plugin một và khôi phục tên thư mục sau khi kiểm tra. Nếu sự cố xuất hiện sau khi đổi giao diện, thử chuyển về giao diện mặc định tương thích.
Bước 4: Kiểm tra tệp cấu hình
Nếu website dùng Apache và lỗi xuất hiện sau khi sửa .htaccess, hãy sao lưu rồi đổi tên tệp tạm thời để kiểm tra. Nếu website hoạt động trở lại, nguyên nhân nhiều khả năng nằm trong quy tắc của tệp này. Tạo lại cấu hình chuẩn theo ứng dụng đang sử dụng trước khi đưa website vào hoạt động bình thường. Không xóa các quy tắc tùy chỉnh khi chưa biết chúng phục vụ chức năng nào.
Với máy chủ Nginx, .htaccess không điều khiển cấu hình máy chủ; cần kiểm tra cấu hình Nginx và xác thực cú pháp trước khi áp dụng. Nếu không quen quản trị máy chủ, không sửa trực tiếp cấu hình đang chạy. Hãy nhờ quản trị viên kiểm tra để tránh làm website ngừng hoạt động lâu hơn.
Bước 5: Rà soát quyền tệp và kết nối cơ sở dữ liệu
Kiểm tra quyền đọc, ghi của tệp và thư mục theo yêu cầu của ứng dụng và cấu hình máy chủ. Không đặt quyền rộng cho toàn bộ website chỉ để thử khắc phục, vì việc này có thể khiến tệp quan trọng dễ bị truy cập hoặc chỉnh sửa trái phép. Nếu không chắc quyền phù hợp, hỏi đơn vị quản trị hosting trước khi thay đổi.
Tiếp theo, đối chiếu thông tin kết nối cơ sở dữ liệu trong tệp cấu hình với thông tin hiện được cấp: tên cơ sở dữ liệu, tên người dùng, mật khẩu và máy chủ kết nối. Kiểm tra dịch vụ cơ sở dữ liệu có hoạt động không. Tránh gửi mật khẩu qua kênh công khai; nếu nghi ngờ thông tin bị lộ, hãy đổi mật khẩu và cập nhật cấu hình an toàn.
Bước 6: Kiểm tra giới hạn tài nguyên và PHP
Nếu log cho thấy ứng dụng vượt bộ nhớ, thời gian xử lý hoặc giới hạn tiến trình, xác định tác vụ nào tiêu thụ tài nguyên trước khi tăng giới hạn. Tối ưu mã, xử lý truy vấn nặng, giảm tác vụ chạy đồng thời hoặc kiểm tra lưu lượng bất thường có thể giải quyết gốc vấn đề. Thay đổi giới hạn PHP chỉ khi gói dịch vụ và cấu hình máy chủ cho phép; tăng giá trị không phù hợp có thể không có hiệu lực hoặc ảnh hưởng đến hệ thống.
Nếu lỗi xuất hiện khi tải tệp, chạy tác vụ dài hoặc xử lý một trang cụ thể, kiểm tra giới hạn liên quan và nhật ký tại đúng thời điểm đó. Khi không có quyền điều chỉnh, cung cấp thông tin lỗi cho đơn vị lưu trữ để họ kiểm tra tài nguyên và cấu hình phía máy chủ.
Bước 7: Kiểm tra lại và nhờ hỗ trợ khi cần
Sau mỗi thay đổi, tải lại trang và thử lại thao tác từng gây lỗi. Nếu đã khoanh vùng nhưng không thể tự xử lý, gửi bộ phận kỹ thuật URL, thời điểm phát sinh, thông báo trong log, các bước đã thử và thay đổi gần nhất. Tránh gửi mật khẩu, khóa truy cập hoặc dữ liệu cá nhân không cần thiết.
Cách hạn chế lỗi 500 tái diễn
Không phải lúc nào cũng có thể ngăn hoàn toàn lỗi máy chủ, nhưng một số thói quen giúp giảm nguy cơ và rút ngắn thời gian khắc phục:
Sao lưu website và cơ sở dữ liệu trước khi cập nhật, di chuyển hoặc sửa cấu hình.
Thử cập nhật trên môi trường kiểm thử nếu có; kiểm tra tính tương thích trước khi đưa thay đổi lên website chính.
Chỉ cài thành phần cần thiết, lấy từ nguồn đáng tin cậy và gỡ bỏ những thành phần không còn sử dụng.
Theo dõi nhật ký lỗi, mức sử dụng tài nguyên và tình trạng các dịch vụ quan trọng.
Lưu lại các thay đổi cấu hình, thời điểm triển khai và cách khôi phục phiên bản trước.
Cập nhật ứng dụng, plugin và môi trường chạy theo quy trình có kiểm tra, không bỏ qua sao lưu.
Nếu lỗi thường xuyên tái diễn khi website tăng tải hoặc cần chạy nhiều tác vụ, hãy đánh giá lại tài nguyên và cấu hình máy chủ thay vì chỉ tăng giới hạn một cách tùy tiện. VibeVPS có các gói Cloud Hosting, trong đó có gói miễn phí, và VPS AMD EPYC Gen 3 hoặc VPS Platinum Gen 2 từ 81.000đ/tháng. Hãy đối chiếu nhu cầu thực tế, khả năng quản trị và yêu cầu ứng dụng trước khi chọn giải pháp.
Kết luận
Lỗi 500 Internal Server Error là thông báo chung, không phải nguyên nhân cụ thể. Để sửa lỗi 500 hiệu quả, hãy xác định phạm vi, xem log, hoàn tác thay đổi gần nhất rồi kiểm tra lần lượt cấu hình, plugin, quyền truy cập, cơ sở dữ liệu và tài nguyên máy chủ. Luôn sao lưu trước khi chỉnh sửa và chỉ thay đổi từng yếu tố để dễ tìm ra vấn đề. Nếu đã kiểm tra mà website vẫn lỗi, hãy cung cấp nhật ký và thông tin thời điểm cho đội ngũ kỹ thuật hoặc đơn vị quản trị để được hỗ trợ khoanh vùng.