Hướng Dẫn Di Chuyển Website Laravel Sang VPS Mới Bằng Rsync
Việc chuyển website Laravel sang một VPS mới có thể trở nên đơn giản và an toàn nếu bạn sử dụng đúng công cụ. Trong số các công cụ phổ biến, rsync được đánh giá cao về tốc độ và bảo toàn quyền hạn file. Bài viết này hướng dẫn bạn cách sử dụng rsync để chuyển web Laravel hiệu quả.
I. Chuẩn Bị Trước Khi Di Chuyển
- Đảm bảo bạn có quyền truy cập SSH vào cả VPS cũ và VPS mới.
- Website Laravel nên đặt ở chế độ bảo trì để tránh thay đổi dữ liệu trong quá trình chuyển.
- Đảm bảo VPS mới đã cài đặt sẵn môi trường PHP, Composer và các extension cần thiết cho Laravel.
II. Cách Sử Dụng Rsync Để Chuyển Dữ Liệu
1. Câu Lệnh Rsync Cơ Bản
rsync -avz --progress /duong_dan_goc/ username@ip_vps_moi:/duong_dan_dich/
-a
: chuyển toàn bộ file (và cả quyền hạn, symlink,...)-v
: hiển thị quá trình chuyển-z
: nén file khi chuyển--progress
: hiện thông tin tiến trình
2. Thực Hiện Chuyển Thư Mục Dự Án Laravel
Ví dụ:
# Trên VPS cũ, chạy:
rsync -avz --progress /var/www/html/laravel_project/ root@123.123.123.123:/var/www/html/laravel_project/
Lưu ý:
- Thay
root
bằng username SSH của bạn trên VPS mới - Thay
123.123.123.123
bằng IP của VPS mới - Đảm bảo thư mục đích đã tồn tại hoặc tạo trước khi rsync
III. Chuyển Database
Laravel chủ yếu dùng MySQL hoặc MariaDB. Hãy export database bằng mysqldump
rồi import vào VPS mới.
# Trên VPS cũ:
mysqldump -u username -p database_laravel > backup.sql
# Chuyển file backup.sql sang VPS mới bằng rsync:
rsync -avz backup.sql root@ip_vps_moi:/duong_dan_dich/
# Trên VPS mới, import lại:
mysql -u username -p database_laravel < backup.sql
IV. Cấu Hình Và Hoạt Động Sau Khi Chuyển
- Cập nhật file
.env
trong dự án Laravel để phù hợp cấu hình VPS mới (DB_HOST, DB_USERNAME, DB_PASSWORD,...). - Chạy lại các lệnh:
composer install --optimize-autoloader --no-dev
php artisan migrate
php artisan config:cache
php artisan route:cache
php artisan storage:link # nếu cần
- Phân quyền lại cho thư mục
storage
vàbootstrap/cache
:
sudo chown -R www-data:www-data storage bootstrap/cache
sudo chmod -R 775 storage bootstrap/cache
- Kiểm tra hoạt động website và đảm bảo mọi thứ đã chạy ổn định.
V. Một Số Lưu Ý Khi Sử Dụng Rsync
- Không nên rsync thư mục
vendor
mà nên cài lại Composer trên VPS mới cho sạch sẽ. - Nếu dữ liệu lớn, nên rsync vào thời điểm ít traffic.
- Có thể sử dụng
--delete
để xóa file ở VPS mới không còn ở VPS cũ (dùng thận trọng). - Nên sử dụng SSH key để tăng bảo mật và thuận tiện thao tác tự động.
Kết Luận
Việc di chuyển website Laravel bằng rsync giúp tiết kiệm thời gian, đảm bảo toàn vẹn dữ liệu và giảm thiểu khả năng lỗi so với việc chuyển thủ công hoặc nén/giải nén file truyền thống. Hãy kiểm tra kỹ cấu hình, backup đầy đủ trước mỗi lần chuyển để đảm bảo an toàn cho dự án của bạn.