Đă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ẻ build
    xml
    <finalName>be</finalName>
    Thẻ 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é
  • 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