Hướng dẫn di chuyển server EasyEngine sang server mới

Đây là cách di chuyển server chạy EasyEngine từ OLD-SERVER-IP sang server mới (NEW-SERVER-IP), đảm bảo các website WordPress (ví dụ: YOUR-SITE.COM) hoạt động bình thường. Quy trình sử dụng rsync để đồng bộ dữ liệu và khởi động lại các dịch vụ Docker.

Tổng quan về quy trình

Di chuyển server EasyEngine yêu cầu sao chép các thư mục chính (/opt/easyengine/var/lib/docker/volumes/) từ server cũ sang server mới. Các bước bao gồm:

  1. Thiết lập server mới.
  2. Cài đặt EasyEngine, Docker, và kiểm tra rsync.
  3. Di chuyển dữ liệu /opt/easyengine/var/lib/docker/volumes/ từ server cũ sang mới.
  4. Chạy các container Docker để khởi động dịch vụ và website.

1. Thiết lập server mới

  1. Khởi tạo server mới:

    Tạo máy chủ mới với Ubuntu/Debian, update apt update && apt upgrade -y

  2. Cấu hình SSH:

    • Đảm bảo truy cập server mới qua SSH (root@NEW-SERVER-IP).

    • (Tùy chọn) Tạo cặp khóa SSH để đồng bộ dữ liệu an toàn:

      ssh-keygen -t rsa
      ssh-copy-id root@OLD-SERVER-IP

2. Cài đặt EasyEngine, Docker, và kiểm tra rsync

  1. Cài đặt EasyEngine:

    • EasyEngine tự động cài đặt Docker và phụ thuộc. Chạy lệnh:

      wget -qO ee https://rt.cx/ee4 && sudo bash ee
    • Kiểm tra cài đặt:

      ee --version
      docker --version
      docker-compose --version

    Lưu ý: Không tạo site mới hoặc chạy lệnh EasyEngine nào khác trước khi đồng bộ dữ liệu.

  2. Kiểm tra và cài đặt rsync:

    • Kiểm tra rsync: rsync --version

    • Nếu chưa có, cài đặt:

      apt update
      apt install -y rsync

3. Đồng bộ dữ liệu từ server cũ sang server mới

Đồng bộ hai thư mục: /opt/easyengine (cấu hình EasyEngine) và /var/lib/docker/volumes/ (dữ liệu Docker như database, file website) bằng rsync.

  1. Đồng bộ /opt/easyengine:

    rsync -avz --progress root@OLD-SERVER-IP:/opt/easyengine /opt/easyengine
    • a: Lưu giữ quyền, thời gian, và cấu trúc thư mục.
    • v: Hiển thị chi tiết.
    • z: Nén dữ liệu để truyền nhanh hơn.
    • -progress: Hiển thị tiến độ.
  2. Đồng bộ /var/lib/docker/volumes/:

    rsync -avz --progress root@OLD-SERVER-IP:/var/lib/docker/volumes/ /var/lib/docker/volumes/

    Xác minh các thư mục tại server mới:

    ls -l /opt/easyengine
    ls -l /var/lib/docker/volumes
  3. Khởi động lại

    Khởi động lại để hệ thống nhận diện thay đổi : reboot, Đợi vài phút và đăng nhập lại qua SSH (root@NEW-SERVER-IP).

4. Chạy các container Docker

  1. Khởi động dịch vụ EasyEngine:
    • Chạy file docker-compose.yml chính:

      docker-compose -f /opt/easyengine/services/docker-compose.yml up -d
    • Khởi động dịch vụ toàn cục (Nginx proxy, MariaDB, Redis).

  2. Khởi động các site:
    • Chạy các file docker-compose.yml của từng site:

      for compose in /opt/easyengine/sites/*/docker-compose.yml; do
          docker-compose -f $compose up -d
      done
    • Khởi động container cho các website (Nginx, PHP, WordPress).

  3. Kiểm tra trạng thái:
    • Xác minh container:

      docker ps
    • Kiểm tra site:

      ee site list

Một số lưu ý

  • DNS: Cập nhật DNS để trỏ YOUR-SITE.COM sang NEW-SERVER-IP.
  • SSL: Kiểm tra chứng chỉ SSL
  • Kiểm tra website: Truy cập YOUR-SITE.COM để đảm bảo hoạt động.

Kết luận

Di chuyển server EasyEngine từ OLD-SERVER-IP sang NEW-SERVER-IP là một quy trình đơn giản với các bước: thiết lập server mới, cài đặt EasyEngine và Docker, đồng bộ dữ liệu bằng rsync, và khởi động container. Quy trình này đảm bảo các website WordPress như YOUR-SITE.COM hoạt động liền mạch trên server mới.

Credit: Stephen

Lần cuối cập nhật lúc