Nếu Vultr có snapshots thì Linode có clone. Chúng khá tương tự về tính năng như giúp các bạn có thể clone, tạo bản backup để khôi phục dễ dàng. Tuy nhiên khác với Vultr, Linode sau khi clone thì cấu hình chúng giữ nguyên, không nhận theo IP mới do đó dịch vụ của bạn bị lỗi, và với Vesta mình cần phải chỉnh sửa lại chúng. Clone VPS, Server trên Linode Để clone trên Linode bạn xem hướng dẫn của Lindoe tại đây: https://www.linode.com/docs/platform/disk-images/clone-your-linode/ Các bước chúng ta thực hiện bao gồm các công việc chính như sau
Thực hiện clone
Cấu hình lại httpd và nginx vì sau khi clont nó sẽ vẫn nhận địa chỉ IP cũ.
Cài đặt lại IP của các tài khoản con.
Sau khi bạn clone, bạn không thể khởi động httpd và gặp lỗi sau
(99)Cannot assign requested address: AH00072: make_sock: could not bind to address xxx.xxx.xxx.xxx:80
Lỗi này là do service vẫn gửi yêu cầu về IP cũ, IP gốc của máy chủ. Như vậy cách fix là mình phải chỉnh lại IP này và chúng ta sẽ làm như sau
Chỉnh sửa IP của httpd
Vào thư mục conf.d: Gõ : cd /etc/httpd/conf.d/ Sau đó các bạn sẽ thấy 1 file có dạng: địa chỉ ip của bạn .conf Bạn dùng lệnh vi để sửa file này VD: vi xxx.xxx.xxx.xx.conf Sau đó thay đổi IP cũ sau đoạn Listen thành ip mới VPS của bạn Thay đổi địa chỉ IP cấu hình httpd Sau khi chỉnh sửa xong, hãy thử khởi động lại httpd với lệnh service httpd start
Chỉnh sửa IP của Nginx
Mặc định sau khi clone xong, nginx cũng không thể bật được do lỗi về IP.
bind() to IP failed (99: Cannot assign requested address)
Để giải quyết vấn đề này, bạn phải chỉnh sửa hết lại IP của các tài khoản con /home/$user/conf/web/httpd.conf Theo Tú biết thì nếu như conf của bất kỳ 1 user nào cấu hình sai thì nginx đều không thể bật được và gặp lỗi. Vì thế bạn phải chắc chắn làm đúng theo hướng dẫn này, sửa chữa lại toàn bộ ip của các tài khoản con. Để xem danh sách các tài khoản con bạn sẽ sửa, bạn gõ cat /etc/nginx/conf.d/vesta.confXem danh sách các website trên vps của bạn cần sửa. Như vậy trong danh sách trên thì hiện Tú đang chạy 6 Website và Tú phải sửa lần lượt cả 6 file này. Giờ để sửa chúng ta dùng vi và sửa từng file 1 VD: vi /home/emailsd/conf/web/xxx.xxxx.xxxx.nginx.conf; Trong mỗi 1 file .conf của nginx bạn sẽ phải sửa 03 chỗ, là các ip cũ. Đặt lại IP về server mới Trong thư mục /etc/nginx/conf.d/ bạn sẽ thấy 1 file chứa ip giống như trên httpd của apache. Hãy đổi tên file từ IP cũ sang IP mới Đừng quên đặt lại tên file và vào đó chỉnh sửa toàn bộ Ip cũ về IP mới nhé. Gõ: mv ip-cũ.conf ip-mới.confDùng lệnh vi + tên file để chỉnh sửa nhé Sau khi hoàn tất sửa toàn bộ website bạn có trên server. Bây giờ hãy khởi động lại nginx và xem kết quả nhé. Gõ: service nginx start Giờ thì nginx của bạn chạy rồi chứ?
Chỉnh sửa lại IP của các website để cho chúng hoạt động.
Có 3 việc mình cần làm
Add IP mới vào trong Vesta
Chỉnh sửa các user có sẵn về hết IP mới
Xóa cái IP cũ đi vì nó ko dùng được nữa
Để add IP mới, hãy đăng nhập vào Vesta của bạn: IP:8083 Click vào phần IP, chọn Add IP AddressAdd IP mới vào Vesta của bạn Tiếp theo: Bạn hãy login vào từng user có trong Vesta của bạn, Click tiếp vào WEB để vào danh sách Domain đang sử dụng cho user đó, và chỉnh sửa lại. Chỉnh lại IP của từng User Phần IP hãy chọn IP mới, lưu ý bạn phải nhấn lưu 2 lần, vì lần 1 nó sẽ báo lỗi, cứ kệ nó lại nhấn save 1 lần nữa là được. Lựa chọn IP mới mà bạn vừa thêm ở trên Vậy là đã xong không còn gì nữa, hãy truy cập vào website và tận hưởng kết quả. Lưu ý: Tú không được học về máy chủ linux. Có thể nói mình không biết kiến thức cơ bản. Toàn bộ các hiểu biết trên là tự làm thành công, tự suy luận theo kiểu "Why-do". Có thể sẽ có một cách nào đó nhanh hơn, hoặc cách trên chỉ đúng với VPS của Tú chạy Vesta. Mình muốn ghi lại để sau này làm tài liệu cho bản thân nếu gặp lại và cũng mong nó có thể giúp ích 1 ai đó. Nếu có gì sai hoặc có cách nào tốt hơn, mình rất mong được học hỏi cùng các bạn.
Tác giả có 10 năm kinh nghiệm về thiết kế Website và SEO. Tôi hiện là CEO của Sudo - một công ty chuyên về xây dựng trang Web cho cá nhân và doanh nghiệp.
Cảm ơn bạn nhiều, rất hữu ích