Đang ở S2 nhé.
Nếu bạn đang ở S2 và muốn đồng bộ cấu hình Nginx từ S1 sang S2 (cả hai đều dùng đường dẫn mặc định /etc/nginx), cách an toàn nhất là rsync one-way + kiểm tra cú pháp + reload. Dưới đây là quy trình chuẩn, ít rủi ro.
1) Trên S2: tạo backup nhanh trước khi sync
2) Đồng bộ /etc/nginx từ S1 → S2 bằng rsync (khuyến nghị)
Giả sử bạn SSH được từ S2 sang S1 qua user
root(hoặc user có quyền sudo đọc/etc/nginx).
ThayS1_IPbằng IP/hostname của S1.
Option A (phổ biến): Sync phần cấu hình Nginx, không đụng chứng chỉ
Lưu ý quan trọng:
--deletesẽ làm S2 giống hệt S1 (xóa file dư trên S2). Đây là điều bạn cần nếu muốn “đồng bộ thật”.Lệnh này chỉ sync
/etc/nginx. Nếu S1 có include trỏ sang nơi khác (ví dụ/etc/letsencrypt/...,/etc/nginx/snippets/...), bạn vẫn cần đảm bảo những phần đó tồn tại trên S2.
3) Nếu S1 đang dùng Let’s Encrypt, bạn phải xử lý chứng chỉ riêng
Nginx config thường include:
/etc/letsencrypt/live/.../etc/letsencrypt/options-ssl-nginx.conf/etc/letsencrypt/ssl-dhparams.pem
Bạn có 2 hướng:
Hướng 1 (khuyến nghị vận hành): Cài cert riêng trên S2 bằng certbot
S2 tự xin cert (hoặc dùng DNS challenge / Cloudflare API nếu NAT chưa trỏ).
Ưu điểm: đúng chuẩn, dễ bảo trì, tránh copy private key giữa máy.
Hướng 2 (nếu bạn muốn S2 “clone y hệt” S1 ngay): sync cả /etc/letsencrypt
4) Kiểm tra cú pháp và reload Nginx trên S2
Nếu nginx -t báo lỗi, đừng reload; hãy xem file thiếu include/đường dẫn certificate.
5) Checklist các điểm hay “vỡ” khi đồng bộ
Upstream/Proxy trỏ IP nội bộ: trên S2 có thể cần khác (ví dụ proxy_pass tới service chỉ có trên S1).
Đường dẫn chứng chỉ:
/etc/letsencrypt/...có thể thiếu.Modules/dynamic modules: nếu S1 có module mà S2 không có,
nginx -tsẽ fail.User/permission: nếu cấu hình log, temp path, cache path khác nhau.
- Đăng nhập để gửi ý kiến