Cài đặt node version manager (nvm) bằng cách nhập nội dung sau:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash

Sử dụng nvm để cài đặt Node.js bằng cách nhập nội dung sau vào dòng lệnh.
nvm install 20

Thực hiện clone repository code ứng dụng
git clone https://github.com/First-Cloud-Journey/000004-EC2.git
Đến thư mục của bài lab 000004-EC2
cd 000004-EC2
NPM là viết tắt của Node package manager là một công cụ tạo và quản lý các thư viện lập trình Javascript cho Node.js. Sử dụng npm init khởi tạo project sẽ tạo ra file package.json mẫu.
npm init

Cài đặt pm2 trong Global, PM2 được sử dụng để quản lý và giám sát các ứng dụng Node.js đang chạy. Nó cho phép các ứng dụng chạy dưới nền.
npm install -g pm2

Tiếp theo, chúng ta định nghĩa lại câu script để chạy ứng dụng, chúng ta sẽ dùng vim để mở file pakage.json, trong phần scripts ở key start, gán cho nó value sau, điều này sẽ giúp ứng dụng của chúng ta chạy nền:
pm2 start app.js

Tiếp tục dùng vim để vào file .env, sau đó nhập vào nội dung sau để thiết lập kết nối tới database.
DB_HOST='fcj-management-db-instance.cdysiiecu90g.ap-southeast-1.rds.amzonaws.com'
DB_NAME='awsfcjuser'
DB_USER='admin'
DB_PASS='123Vodanhphai'

Tiến hành khởi chạy ứng dụng:
npm start
Lệnh pm2 status trong PM2 được sử dụng để hiển thị trạng thái hiện tại của tất cả các ứng dụng đang được quản lý bởi PM2. Khi bạn chạy lệnh này, chúng ta sẽ nhận được thông tin tổng quan về từng ứng dụng.

Tiếp theo, chúng ta cần lấy được public DNS của instance để có thể truy cập được ứng dụng từ trình duyệt.

Ứng dụng của chúng ta đã chạy ổn định.

Tiếp theo chúng ta dùng câu lệnh pm2 startup để tiến hành cấu hình PM2 tự động khởi động lại các ứng dụng khi máy chủ khởi động lại.
Nó sẽ yêu cầu thiết lập Startup Script, hãy copy/paste command đó và chạy.

Để đảm bảo các ứng dụng đang chạy được lưu lại và khởi động lại khi server khởi động lại, chúng ta cần chạy lệnh pm2 save. Lệnh này sẽ lưu trạng thái hiện tại của các tiến trình vào danh sách khởi động.
