app, tôi phát hiện trang web này không thể mở được - the thao 24h

/imgposts/klhvnazg.jpg

Gần đây tôi nhận thấy tính năng đếm số lượt đọc trên blog của mình có chút trục trặc. Vì nó dựa trên dịch vụ của LeanCloud, nên vài ngày trước khi truy bắn cá ăn xu online cập vào leancloud.app, tôi phát hiện trang web này không thể mở được. Lúc đó tôi nghĩ rằng dịch vụ đã ngừng hoạt động, nhưng do bận rộn nên chưa kịp kiểm tra kỹ hơn.

Sau đó, khi mở một bài viết cụ thể, hệ thống báo lỗi "Counter chưa được khởi tạo". Tính năng này thực chất là một bộ đếm dựa trên LeanCloud, yêu cầu phải khởi tạo cặp giá trị tương tự như key-value cho các bài viết mới mỗi khi xây dựng lại blog. Ban đầu, tôi lầm tưởng rằng trang web chính thức của LeanCloud là leancloud.app, nhưng sau đó tôi nhận ra rằng leancloud.cn mới là địa chỉ chính xác và có thể truy cập bình thường.

Tiếp theo, tôi suy đoán rằng có thể giao diện hoặc cách gọi API đã thay đổi. Khi truy cập, hệ thống yêu cầu xác minh số điện thoại, điều này làm tôi nghĩ rằng họ đã tăng cường quy trình xác thực, buộc người dùng phải liên kết tài khoản với số điện thoại để tiếp tục truy cập. Sau khi hoàn thành bước xác minh này, tôi vẫn không thể sử dụng dịch vụ bình thường. Lúc này, tôi bắt đầu chú ý đến thông báo chi tiết hơn, xem liệu vấn đề thật sự chỉ nằm ở việc Counter chưa được khởi tạo hay không.

Tôi nhớ rằng blog của mình cũng đồng bộ với một dịch vụ Gitea cá nhân khác. Gần đây, dường như trạng thái của traefik (lối vào) có chút bất thường, khiến quá trình đồng bộ sang Gitea gặp khó khăn. Tuy nhiên, điều này không ảnh hưởng đến việc đẩy nội dung lên GitHub Pages.

Vấn đề thứ ba xuất hiện trong lúc tôi suy nghĩ về quy trình triển khai của Hexo. Khi Hexo triển khai, nó sẽ lần lượt đẩy nội dung đến từng điểm đích. Ví dụ, nếu tôi có cả GitHub và Gitea cùng với một điểm triển khai khác, thì khi xảy ra lỗi tại Gitea, các bước triển khai tiếp theo sẽ bị gián đoạn. Đáng tiếc là dịch vụ đếm lượt đọc của LeanCloud phụ thuộc vào quy trình triển khai này. Trong nhật ký triển khai, tôi nhìn thấy dòng:

INFO Deploying: leancloud_counter_security_sync

Từ đó, tôi hiểu rằng vấn đề chủ yếu liên quan đến traefik. Tôi thử khởi động lại docker-compose của traefik, nhưng phát hiện rằng cổng 80 đang bị chiếm dụng. Đây là một nổ hũ mạt chược tình huống phổ biến mà nhiều người đã gặp phải. Để tìm tiến trình nào đang sử dụng cổng này, tôi sử dụng lệnh:

lsof -i:80

Lệnh này giúp xác định rằng Apache2, tức là máy chủ HTTP mặc định của Ubuntu, đã tự động khởi chạy sau khi hệ thống reboot. Lưu ý rằng tên dịch vụ của nó là apache2, chứ không phải httpd. Do đó, tôi sử dụng lệnh:

systemctl stop apache2

để dừng dịch vụ này. Ngoài ra, tôi cũng vô hiệu hóa chế độ tự khởi động bằng lệnh:

systemctl disable apache2

Như vậy, tôi đã giải quyết được chuỗi vấn đề khá thú vị này. Việc kiểm tra và xử lý thể thao ngoại hạng anh từng bước giúp tôi hiểu rõ hơn về cấu trúc hệ thống và cách các thành phần tương tác với nhau.