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 và /var/lib/docker/volumes/) từ server cũ sang server mới. Các bước bao gồm:
- Thiết lập server mới.
- Cài đặt EasyEngine, Docker, và kiểm tra
rsync. - Di chuyển dữ liệu
/opt/easyenginevà/var/lib/docker/volumes/từ server cũ sang mới. - Chạy các container Docker để khởi động dịch vụ và website.
1. Thiết lập server mới
Khởi tạo server mới:
Tạo máy chủ mới với Ubuntu/Debian, update
apt update && apt upgrade -yCấ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
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 eeKiể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.
Kiểm tra và cài đặt rsync:
Kiểm tra
rsync:rsync --versionNế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.
Đồ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 độ.
Đồ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/volumesKhở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
- Khởi động dịch vụ EasyEngine:
Chạy file
docker-compose.ymlchính:docker-compose -f /opt/easyengine/services/docker-compose.yml up -dKhởi động dịch vụ toàn cục (Nginx proxy, MariaDB, Redis).
- Khởi động các site:
Chạy các file
docker-compose.ymlcủa từng site:for compose in /opt/easyengine/sites/*/docker-compose.yml; do docker-compose -f $compose up -d doneKhởi động container cho các website (Nginx, PHP, WordPress).
- Kiểm tra trạng thái:
Xác minh container đang chạy, bạn sẽ thấy tất cả các service của docker compose đều đang chạy, kể cả các service bạn hiếm hoặc hoang toàn không dùng, như New Relic, Mailhog, Postfix:
docker psStop các container nếu bạn không dùng, Mailhog, New Relic, Postfix:
New Relic
docker-compose -f /opt/easyengine/services/docker-compose.yml stop global-newrelic-daemondocker-compose -f /opt/easyengine/services/docker-compose.yml stop global-newrelic-daemonMailhog
for compose in /opt/easyengine/sites/*/docker-compose.yml; do website=$(basename "$(dirname "$compose")") ee mailhog disable $website donePostfix
for compose in /opt/easyengine/sites/*/docker-compose.yml; do docker-compose -f $compose stop postfix doneĐể xoá hoàn toan các container dư thừa này, bằng cách sử dụng các lệnh tương tự, chỉ cần thay thế lệnh
docker-compose stopbằngdocker-compose rm -v.Kiểm tra site:
ee site list
Một số lưu ý
- DNS: Cập nhật DNS để trỏ
YOUR-SITE.COMsang 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