Triển khai Web Server

  1. Cài đặt Node Version Manager (nvm) bằng cách nhập lệnh sau vào terminal:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

Image

  1. Chạy chính xác ba dòng lệnh sau trong terminal của bạn để có thể bắt đầu sử dụng nvm ngay lập tức mà không cần phải đóng và mở lại terminal:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
  1. Để cài đặt Node.js bằng nvm, hãy nhập lệnh sau vào terminal.
nvm install 24

Image 4. Clone kho lưu trữ (repository) ứng dụng bằng cách chạy lệnh sau trong terminal của bạn:

git clone https://github.com/thienluhoan/000006-EC2.git
  1. Điều hướng đến thư mục cho lab 000006-EC2
cd 000006-EC2
  1. NPM, viết tắt của Node Package Manager, là một công cụ quan trọng để quản lý các thư viện và dependencies của JavaScript trong các ứng dụng Node.js. Khi bạn chạy lệnh npm init, nó sẽ khởi tạo một project Node.js mới và tạo ra một file package.json. File này chứa metadata về project, chẳng hạn như tên, phiên bản, mô tả và danh sách các dependencies.
npm init
  1. Bạn nên nhấn Enter liên tục để tạo các giá trị mặc định Image

  2. Cài đặt pm2 global (toàn cục); 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 ngầm (in the background).

npm install pm2 -g && npm install

Image

  1. Tiếp theo, chúng ta sử dụng pm2 để chạy ứng dụng. Điều này sẽ cho phép ứng dụng của chúng ta chạy ngầm:
pm2 start app.js

Image

  1. Nhập touch .env && nano .env để điền các biến môi trường (environmental variables)
  2. Tiếp tục sử dụng nano để truy cập vào file .env, sau đó nhập nội dung sau để thiết lập kết nối tới database.
DB_HOST='YOUR-RDS-ENDPOINT'
DB_NAME='fcaj'
DB_USER='admin'
DB_PASS='Aa12345#'

Image

  1. Tiến hành khởi động ứng dụng.
npm start
  1. 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 PM2 quản lý. Khi bạn chạy lệnh này, bạn sẽ nhận được một cái nhìn tổng quan về mỗi ứng dụng, bao gồm các chi tiết như state (đang chạy, đã dừng, v.v.), mức sử dụng RAM, mức sử dụng CPU và số lần khởi động lại. Điều này giúp theo dõi hiệu suất và tình trạng của các ứng dụng Node.js một cách hiệu quả. Image

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

  3. Ứng dụng của chúng ta đang chạy ổn định: YOUR-PUBLIC-DNS:5000 Image

  4. Tiếp theo, chúng ta sử dụng lệnh pm2 startup để cấu hình PM2 tự động khởi động lại các ứng dụng khi máy chủ (server) khởi động lại. Chúng ta tiếp tục thực thi lệnh sau:

sudo env PATH=$PATH:/home/ec2-user/.nvm/versions/node/v24.13.1/bin /home/ec2-user/.nvm/versions/node/v24.13.1/lib/node_modules/pm2/bin/pm2 startup systemd -u ec2-user --hp /home/ec2-user

Image

  1. Cuối cùng, gõ pm2 save để lưu các cấu hình của bạn Image