Tuy nhiên, thực tế lại hoàn toàn ngược lại - xem keo truc tuyen

Mục lục

Trang web của tôi được xây dựng trên máy chủ Alibaba Cloud tại Hồng Kông. Với mong muốn hạn chế tối đa các thao tác phức tạp, tôi đã mua gói dịch vụ kéo dài tới 5 năm. Tuy nhiên, mọi kế hoạch đều không bằng sự sắp đặt của trời đất. Từ ngày 28 tháng 6, trang web của tôi không thể truy cập được từ đại ty le keo nha cai lục Trung Quốc. Sau khi liên hệ với bộ phận hỗ trợ khách hàng, họ thông báo rằng tên miền của tôi đã bị chặn bởi mạng lưới cấp trên. Lý do cụ thể thì không ai có thể giải thích rõ ràng. Tôi tự kiểm tra nội dung trang web và tin rằng không có gì vi phạm, nên hy vọng rằng đến ngày 2 tháng 7, tình trạng sẽ được khôi phục. Nhưng cho đến tận đêm hôm đó, vấn đề vẫn không được giải quyết.

Không còn cách nào khác, tôi đành phải mua một máy chủ mới của Alibaba Cloud ở đại lục và tiến hành di chuyển toàn bộ dữ liệu website. Trước đây, tôi đã viết hai bài tổng kết về quá trình quản lý website này.

Do sử dụng cơ sở dữ liệu SQLite3 mà không cần di chuyển MySQL, tôi nghĩ rằng việc chuyển đổi sẽ rất nhanh chóng và dễ dàng. Tuy nhiên, thực tế lại hoàn toàn ngược lại. Dưới đây là quy trình xử lý các lỗi phát sinh trong quá trình di chuyển:

1. Di chuyển toàn bộ thư mục trang web gốc cùng với tệp cơ sở dữ liệu SQLite3 và tập tin cấu hình Nginx sang máy chủ mới

cp /etc/nginx/sites-available/www.skyue.com /home/typecho/www.skyue.com # Sao chép file cấu hình Nginx vào thư mục trang web
zip -r typecho.zip /home/typecho/ # Nén toàn bộ thư mục trang web thành file zip
mv typecho.zip /home/typecho/usr/uploads/ # Di chuyển file zip vào thư mục có thể truy cập được

Trên máy nổ hủ chủ mới:

curl  -o typecho.zip # Tải xuống file trang web
apt install zip # Cài đặt phần mềm zip nếu chưa có trên máy chủ mới
unzip typecho.zip # Giải nén file trang web

Tất cả các bước tiếp theo đều được thực hiện trên máy chủ mới.

2. Cài đặt Nginx và PHP

apt install nginx
apt install php

3. Sao chép file cấu hình Nginx vào thư mục cấu hình và tạo liên kết mềm

cp /home/typecho/www.skyue.com /etc/nginx/sites-available/www.skyue.com 
ln -s /etc/nginx/sites-available/www.skyue.com /etc/nginx/sites-enable/www.skyue.com 

4. Tải lại file cấu hình Nginx

nginx -s reload

Lúc này bắt đầu xuất hiện lỗi, hệ thống thông báo không tìm thấy tệp chứng chỉ. 5. Cài đặt chứng chỉ

sudo snap install core; sudo snap refresh core  # Nếu chưa có snap, cài đặt bằng lệnh: apt install snapd
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot --nginx -d tên miền của bạn

Bước cuối cùng luôn báo lỗi, nguyên nhân cũng là không tìm thấy tệp chứng chỉ. Tôi đã mất rất nhiều thời gian để khắc phục vấn đề này, cuối cùng phát hiện ra rằng cần phải xóa những dòng chứa chú thích # managed by Certbot trong file cấu hình.

Sau khi xóa, tôi chạy lại lệnh sudo certbot --nginx để hoàn tất cài đặt chứng chỉ. Thực thi lệnh nginx -s reload để tải lại file cấu hình, và lần này không còn lỗi nào nữa. Thế nhưng khi truy cập trang web qua trình duyệt, lại gặp lỗi 502 Bad Gateway.

6. Sửa đổi phiên bản PHP trong file cấu hình Nginx

7. Cài đặt plugin php-sqlite3 Cần cài đặt plugin php-sqlite3 để giải quyết vấn đề này.

apt install php-sqlite3

8. Sửa đổi quyền truy cập của thư mục và tệp

sudo chown -R :www-data /home/typecho/ # Thay đổi quyền truy cập của thư mục trang web
sudo chmod -R 775 /home/mydata.db # Thay đổi quyền truy cập của tệp cơ sở dữ liệu

9. Giải quyết lỗi khi xuất bản bằng script Python Tôi sử dụng MWeb để xuất bản bài viết, và công cụ này cung cấp thông tin lỗi chi tiết hơn. Hóa ra là vì máy chủ thiếu plugin php-xml, khiến giao diện xmlrpc của blog không hoạt động. Vấn đề được giải quyết sau khi cài đặt plugin php-xml.

apt install php-xml

Cuối cùng, sau tất cả những bước trên, mọi thứ đã được giải quyết. Giờ đây, tôi có thể hoàn tất thủ xem keo truc tuyen tục hoàn tiền cho máy chủ Hồng Kông.

Một lời góp ý cuối cùng, dù Alibaba Cloud đắt hơn Tencent Cloud, nhưng vì trước đây tên miền đã đăng ký tại Alibaba Cloud, tôi quyết định chọn giải pháp ít rắc rối nhất. Hy vọng rằng bài viết này sẽ không bao giờ cần thiết đến trong tương lai.