Đăng nhập vào VPS
Cách 1: Connect bằng terminal
Bước 1: Mở termial
Bước 2: Chạy câu lệnh sau để kết nối vào VPS
shell
ssh -i ~/Desktop/becode.vn root@143.198.214.247
- ssh: sử dụng giao thức SSH.
- -i ~/Desktop/becode.vn: -i viết tắt cho IdentityFile, sau -i là đường dẫn đến file SSH key mình đã generate ra ở bài trước.
- root: user mặc định của ubuntu.
- 143.198.214.247: IP của VPS được cấp. Thay bằng IP của các bạn. Đừng xài y chang anh ^^
- Connect thành côngVPS hiển thị 1 số thông tin cơ bản
Cách 2: Connect thông qua VSCode (cách này anh và đồng nghiệp hay dùng nhất)
- Bước 1: Mở VSCode
- Bước 2: Vào mục extensions, tìm extension như hình và install
- Bước 3: Sau khi install thành công, dưới cùng góc trái có biểu tượng màu xanh. Bấm chọn vào đó.
- Bước 4: Chọn Connect to Host
- Bước 5: Chọn + Add New SSH Host
- Bước 6: Nhập vào ô nhập liệu đoạn code sau:shell
ssh -i ~/Desktop/becode.vn root@143.198.214.247
- Bước 7: Chọn nơi lưu trữ:sau đó chọn nút connect bên dưới.
- Kết nối thành công hehe ^^
Đổi tên IP (giúp lần sau connect dễ hơn):
- Bấm vào biểu tượng dưới cùng bên trái màu xanh.
- Chọn Connect to Host
- Chọn Configure SSH Hosts
- Chọn File đã lưu khi add host lúc nãy. với a nó là file đầu tiên
- Tới đây tìm cái IP của dự án muốn đổi tên. Với a nó là 143.198.214.247. Nếu đây là lần đầu mấy bạn làm cái này thì sẽ có 1 cái thôi khỏi tìm. Tại a trong nhiều dự án nên hơi nhiều VPS hehe.
- Tới đây đơn giản các bạn đổi Host thành tên dự án của mình
Với cách này mỗi lần muốn connect vào VPS thì rất nhanh và đơn giản:
- Bấm vào biểu tượng dưới cùng bên trái màu xanh.
- Chọn Connect to Host
- Chọn IP hoặc tên của dự án đang muốn connect
- connect thành công
Kết luận 2 cách đều connect vào VPS được nhưng a vs các a đồng nghiệp hay xài cách 2 vì nó nhanh và tiện.
Hẹn gặp các bạn số tiếp theo mình sẽ bắt đầu deploy 1 app lên VPS cho mọi người dùng.
Set up ở VPS:
- Connect vào VPS
- Ở thư mục /var/www/, tạo thêm 1 folder có tên be. Đây sẽ là nơi chưa app backend của chúng ta. Cụ thể trong trường hợp này nó chính là file jar đã được build thành công.shell
mkdir /var/www/be
Dowload JDK && JRE để setup môi trường
shell
apt install default-jre
shell
apt install default-jdk
Step 2: Setup Database cho dự án bằng DOCKER
Để một dự án BackEnd có thể chạy thì đầu tiên phải setup database cho dự án
Ở đây anh đang dùng database MYSQL nên sẽ chạy câu lệnh này để kéo images của MYSQL về mà không cần set up bất cứ thứ gì
shell
docker pull mysql:latest
Sau khi pull xong các bạn có thể check đã thành công hay chưa bằng lệnh:
shell
docker images
Step 3: Chạy image MYSQL để khởi tạo container
shell
docker run -e MYSQL_ROOT_PASSWORD=<your_password> -p 3306:3306 -d --name mysql_container mysql:latest
- docker run: Lệnh để chạy một container mới từ image.
- -e MYSQL_ROOT_PASSWORD="your_password": Thiết lập biến môi trường MYSQL_ROOT_PASSWORD với mật khẩu cho tài khoản root của MySQL.
- -p 3306:3306: Mở cổng 3306 (mặc định của MySQL) trên máy chủ và ánh xạ nó với cổng 3306 của container.
- --name mysql_container: Đặt tên cho container là mysql_container.
Set up ở source code Backend:
- Mở source code back-end
- Mở file pom.xml, thêm đoạn script này ở trong thẻ buildThẻ này có nhiệm vụ định nghĩa tên file jar build thành công. Trong trường hợp này a để là be nên sau khi build thành công a sẽ nhận đc 1 file jar là be.jar. Các bạn nhớ đổi thành tên dự án của mình nhéxml
<finalName>be</finalName>
- Tiếp theo tương tự Front-end, chúng ta tạo 1 file có tên là deploy.sh. File này có nhiệm vụ tương tự bên front-end để deploy mà k cần mở VPS ^^.shell
echo "Building app..." ./mvnw clean package -DskipTests echo "Deploy files to server..." scp -r target/be.jar root@103.200.20.141:/var/www/be/ ssh root@103.200.20.141 <<EOF pid=$(sudo lsof -t -i:8080) if [ -z "$pid" ]; then echo "Start server..." else echo "Restart server..." sudo kill -9 "$pid" fi cd /var/www/be java -jar be.jar EOF exit echo "Done!"
- /mvnw clean package: build dự án
- target/be.jar: chính là cái file mà dự án build thành công mình đã cấu hình ở trên Chung quy scp -r -i ~/Desktop/bede.vn target/be.jar root@143.198.214.247:/var/www/be/có nghĩa là quăng cái file build thành công lên /var/www/be/ trên VPS. R trên đó mình chạy gì tùy ý mình