git clone https://github.com/AWS-First-Cloud-Journey/AWS-FCJ-Management
Dưới đây là một tập lệnh Bash để cài đặt Node.js trên Amazon Linux. Hãy sao chép và thực thi các bước sau:
#!/bin/bash
# Các màu cho định dạng
GREEN='\033[0;32m'
NC='\033[0m' # Không màu
# Kiểm tra xem NVM đã được cài đặt chưa
if ! command -v nvm &> /dev/null; then
# Bước 1: Cài đặt nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
source ~/.nvm/nvm.sh
fi
# Xác minh việc cài đặt nvm
nvm --version
# Cài đặt phiên bản LTS của Node.js
nvm install --lts
# Sử dụng phiên bản LTS đã cài đặt
nvm use --lts
# Xác minh cài đặt Node.js và npm
node -v
npm -v
# Bước 4: Tạo tệp package.json (nếu nó chưa tồn tại)
if [ ! -f package.json ]; then
npm init -y
echo -e "${GREEN}Đã tạo tệp package.json.${NC}"
fi
# Bước 5: Cài đặt các gói npm cần thiết
echo -e "Đang cài đặt các gói npm cần thiết..."
npm install express dotenv express-handlebars body-parser mysql
# Bước 6: Cài đặt nodemon như một phần phát triển
echo -e "Đang cài đặt nodemon như một phần phát triển..."
npm install --save-dev nodemon
npm install -g nodemon
# Bước 7: Thêm script npm start vào package.json
if ! grep -q '"start":' package.json; then
npm set-script start "index.js" # Thay thế "your-app.js" bằng tệp điểm nhập của bạn
echo -e "${GREEN}Đã thêm script npm start vào package.json.${NC}"
fi
echo -e "${GREEN}Cài đặt hoàn tất. Bây giờ bạn có thể bắt đầu xây dựng và chạy ứng dụng Node.js của mình bằng 'npm start'.${NC}"
Đặt các biến với đường dẫn RPM của MySQL và thông tin cơ sở dữ liệu như địa chỉ RDS, tên cơ sở dữ liệu, tên người dùng và mật khẩu.
Kiểm tra xem RPM của kho cộng đồng MySQL đã tồn tại trong thư mục hiện tại chưa. Nếu chưa tồn tại, nó sẽ tải về RPM từ URL đã chỉ định.
Cài đặt RPM của kho cộng đồng MySQL và MySQL Server.
Khởi động máy chủ MySQL và cấu hình nó để tự động khởi động cùng hệ thống.
Kiểm tra phiên bản MySQL đã cài đặt.
Bảo mật máy chủ MySQL bằng lệnh mysql_secure_installation.
Tạo hoặc cập nhật tệp .env với thông tin cơ sở dữ liệu (địa chỉ, tên cơ sở dữ liệu, tên người dùng và mật khẩu).
Kết nối đến máy chủ MySQL với thông tin xác thực và bạn có thể thêm các lệnh SQL cụ thể tại đây.
Lưu ý: Để thực hiện script này, bạn cần có quyền sudo và phải chắc chắn rằng bạn đã cung cấp đúng thông tin cơ sở dữ liệu (RDS Endpoint, tên cơ sở dữ liệu, tên người dùng và mật khẩu) trước khi chạy script.
#!/bin/bash
# Set variables for MySQL RPM and database information
MYSQL_RPM_URL="https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm"
DB_HOST="RDS Endpoint"
DB_NAME="Database name"
DB_USER="Database username"
DB_PASS="Database password"
# Check if MySQL Community repository RPM already exists
if [ ! -f mysql80-community-release-el9-1.noarch.rpm ]; then
sudo wget $MYSQL_RPM_URL
fi
# Install MySQL Community repository
sudo dnf install -y mysql80-community-release-el9-1.noarch.rpm
# Install MySQL server
sudo dnf install -y mysql-community-server
# Start MySQL server
sudo systemctl start mysqld
# Enable MySQL to start on boot
sudo systemctl enable mysqld
# Check MySQL version
mysql -V
# Secure the MySQL server
sudo mysql_secure_installation
# Create or update the .env file with database information
echo "DB_HOST=$DB_HOST" >> .env
echo "DB_NAME=$DB_NAME" >> .env
echo "DB_USER=$DB_USER" >> .env
echo "DB_PASS=$DB_PASS" >> .env
# Connect to MySQL and create a new database (you might want to add specific SQL commands here)
mysql -h $DB_HOST -P 3306 -u $DB_USER -p$DB_PASS
Sau khi kết nối thành công vào RDS (Relational Database Service) trên AWS, chúng ta có thể tạo một database mới và định nghĩa một bảng trong đó bằng cách sử dụng SQL script sau đây.
Đầu tiên, chúng ta sẽ tạo một database mới nếu nó chưa tồn tại. Sử dụng lệnh sau:
CREATE DATABASE IF NOT EXISTS first_cloud_users;
Lệnh này kiểm tra xem database “first_cloud_users” đã tồn tại hay chưa. Nếu chưa tồn tại, nó sẽ tạo một database mới có tên “first_cloud_users”.
Tiếp theo, chúng ta sử dụng database “first_cloud_users” bằng cách sử dụng lệnh:
USE first_cloud_users;
Lệnh này cho biết rằng tất cả các lệnh SQL sau đó sẽ được thực thi trong database “first_cloud_users”.
Chúng ta đã tạo database và sử dụng nó. Bây giờ, chúng ta sẽ định nghĩa một bảng “user” trong database này bằng cách sử dụng SQL script sau:
CREATE TABLE `user`
(
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`first_name` VARCHAR(45) NOT NULL,
`last_name` VARCHAR(45) NOT NULL,
`email` VARCHAR(100) NOT NULL UNIQUE,
`phone` VARCHAR(15) NOT NULL,
`comments` TEXT NOT NULL,
`status` ENUM('active', 'inactive') NOT NULL DEFAULT 'active'
) ENGINE = InnoDB;
Lệnh này định nghĩa cấu trúc của bảng “user” với các cột như “id”, “first_name”, “last_name”, “email”, “phone”, “comments”, và “status”. Các cột này đại diện cho thông tin về người dùng, và cột “id” được đặt là khóa chính tự động tăng.
Cuối cùng, chúng ta có thể thêm dữ liệu vào bảng “user” bằng cách sử dụng lệnh INSERT INTO. Dưới đây là ví dụ thêm một số bản ghi vào bảng:
INSERT INTO `user`
(`first_name`, `last_name`, `email`, `phone`, `comments`, `status`)
VALUES
('Amanda', 'Nunes', 'anunes@ufc.com', '012345 678910', 'I love AWS FCJ', 'active'),
('Alexander', 'Volkanovski', 'avolkanovski@ufc.com', '012345 678910', 'I love AWS FCJ', 'active'),
('Khabib', 'Nurmagomedov', 'knurmagomedov@ufc.com', '012345 678910', 'I love AWS FCJ', 'active'),
('Kamaru', 'Usman', 'kusman@ufc.com', '012345 678910', 'I love AWS FCJ', 'active'),
('Israel', 'Adesanya', 'iadesanya@ufc.com', '012345 678910', 'I love AWS FCJ', 'active'),
('Henry', 'Cejudo', 'hcejudo@ufc.com', '012345 678910', 'I love AWS FCJ', 'active'),
('Valentina', 'Shevchenko', 'vshevchenko@ufc.com', '012345 678910', 'I love AWS FCJ', 'active'),
('Tyron', 'Woodley', 'twoodley@ufc.com', '012345 678910', 'I love AWS FCJ', 'active'),
('Rose', 'Namajunas', 'rnamajunas@ufc.com', '012345 678910', 'I love AWS FCJ', 'active'),
('Tony', 'Ferguson', 'tferguson@ufc.com', '012345 678910', 'I love AWS FCJ', 'active'),
('Jorge', 'Masvidal', 'jmasvidal@ufc.com', '012345 678910', 'I love AWS FCJ', 'active'),
('Nate', 'Diaz', 'ndiaz@ufc.com', '012345 678910', 'I love AWS FCJ', 'active'),
('Conor', 'McGregor', 'cmcGregor@ufc.com', '012345 678910', 'I love AWS FCJ', 'active'),
('Cris', 'Cyborg', 'ccyborg@ufc.com', '012345 678910', 'I love AWS FCJ', 'active'),
('Tecia', 'Torres', 'ttorres@ufc.com', '012345 678910', 'I love AWS FCJ', 'active'),
('Ronda', 'Rousey', 'rrousey@ufc.com', '012345 678910', 'I love AWS FCJ', 'active'),
('Holly', 'Holm', 'hholm@ufc.com', '012345 678910', 'I love AWS FCJ', 'active'),
('Joanna', 'Jedrzejczyk', 'jjedrzejczyk@ufc.com', '012345 678910', 'I love AWS FCJ', 'active');
Lệnh này thêm các bản ghi của người dùng vào bảng “user” với thông tin như tên, email, số điện thoại, bình luận và trạng thái mặc định là “active”.
Đây là cách tạo và quản lý một database và bảng trong AWS RDS sử dụng SQL script.
SHOW DATABASES;
Lệnh này sẽ liệt kê tất cả các database có sẵn trong hệ thống.
USE database_name;
Lệnh này sẽ chuyển bạn từ database hiện tại sang database có tên là “database_name”. Sau khi sử dụng lệnh này, tất cả các lệnh SQL tiếp theo sẽ áp dụng cho database này.
SHOW TABLES;
Lệnh này sẽ liệt kê tất cả các bảng có trong database hiện tại.
DESCRIBE table_name;
Lệnh này sẽ cho bạn biết cấu trúc của bảng có tên là “table_name”, bao gồm tên cột, kiểu dữ liệu và các thuộc tính khác của cột.
SELECT table_schema "Database Name", SUM(data_length + index_length) / 1024 / 1024 "Database Size (MB)"
FROM information_schema.tables
GROUP BY table_schema;
Lệnh này sẽ hiển thị thông tin về kích thước của các database trong hệ thống, tính bằng đơn vị Megabyte (MB).
Nhớ thay thế “database_name” và “table_name” bằng tên cụ thể của database và bảng mà bạn muốn kiểm tra. Các lệnh này giúp bạn quản lý và kiểm tra thông tin về cơ sở dữ liệu của bạn.
npm start
Kiểm tra ứng dụng trên trình duyệt: Mở trình duyệt web và nhập địa chỉ IP hoặc tên miền của EC2 Instance, kèm theo cổng 5000 (ví dụ: http://<địa chỉ IP hoặc tên miền>:5000
). Điều này sẽ thực hiện kết nối đến ứng dụng của bạn chạy trên cổng 5000.
Kiểm tra kết quả: Trình duyệt sẽ hiển thị ứng dụng của bạn nếu mọi thứ được cấu hình đúng và EC2 Instance đang hoạt động. Nếu không, bạn cần kiểm tra lại các bước trước đó để xác định vấn đề và sửa chữa nó.
http://<địa chỉ IP hoặc tên miền>:5000
Đăng nhập vào AWS Management Console.
Chọn dịch vụ “Amazon RDS” trong danh sách các dịch vụ.
Trong bảng điều khiển RDS, chọn DB instance bạn muốn kiểm tra.
Trong trang quản lý DB instance, điều hướng đến tab “Maintenance & backups” (Bảo trì và sao lưu).
Tại đây, bạn có thể xem thông tin về sao lưu tự động và sao lưu thủ công. Bạn cũng có thể cấu hình và quản lý các thiết lập sao lưu.
Chọn các thiết lập khác như kích thước bộ nhớ được cấp phát.
Để biết thêm thông tin về mỗi thiết lập, hãy xem Settings for DB instances.
Cuối cùng, chọn Restore DB instance.
7.Kiểm tra database instance đã restore.