Skip to content

Triển khai nhanh ​

Tổng quan trang ​

Trường hợp sử dụngPhù hợp trải nghiệm nhanh, môi trường demo, triển khai quy mô nhỏ, và xác minh môi trường cơ bản trước khi bàn giao bản thương mại.
Điều kiện tiên quyếtChuẩn bị một máy chủ Linux, đảm bảo Docker, Docker Compose, truy cập mạng và các cổng nghiệp vụ khả dụng.
Kết quả đạt đượcHoàn tất khởi động các dịch vụ FastBee backend, frontend, MySQL, Redis, EMQX..., và có thể đăng nhập nền tảng.
Tiêu chí nghiệm thuTrang nền tảng truy cập được, tài khoản mặc định đăng nhập được, trạng thái container bình thường, cổng MQTT và bảng điều khiển EMQX kết nối được.

Lối vào triển khai và quy trình tối thiểu ​

  1. Trước tiên xác nhận hệ điều hành máy chủ, Docker, Docker Compose, mở cổng, chứng chỉ giấy phép và gói cài đặt.
  2. Trải nghiệm nhanh ưu tiên dùng script một chạm; môi trường bàn giao hoặc phát triển thứ cấp khuyến nghị dùng cách docker-compose, thuận tiện thay jar backend và file tĩnh frontend.
  3. Sau khi dịch vụ khởi động, nghiệm thu theo thứ tự container, log backend, cơ sở dữ liệu, cache, MQTT, trang Web và trang giấy phép.
  4. Cuối cùng dùng MQTTX chạy thông đường truyền sản phẩm, thiết bị, báo lên và gửi xuống, xác nhận môi trường triển khai có thể gánh nghiệp vụ thực tế.
Kiểm tra trước triển khai
  • Máy chủ đã mở các cổng nghiệp vụ 80, 1883, 8083, 5061, 30000-30100/tcp/udp...
  • Trước khi triển khai bản thương mại đã chuẩn bị chứng chỉ giấy phép, mật khẩu cài đặt, và xác nhận sau khi triển khai xong cần cấu hình thông tin giấy phép.
  • Khi triển khai lại sau phát triển thứ cấp, trước tiên xác nhận gói jar backend và thư mục vue frontend dưới /var/data có phải phiên bản mới nhất không.

提示

  • Sau khi triển khai bản thương mại hoàn tất, đăng nhập hệ thống, vào trang chủ cần cấu hình thông tin giấy phép (简体中文) trước thì mới sử dụng bình thường được
  • Triển khai lại sau phát triển thứ cấp, chỉ cần thay gói fastbee-admin.jar tương ứng và nội dung thư mục vue dưới /var/data

1. Script triển khai nhanh ​

Script triển khai một chạm được làm dựa trên docker, cần cài sẵn docker và docker-compose. Quy trình thao tác thực tế tương tự cách triển khai docker-compose dưới đây, được gộp thành một script, chạy một lệnh để hoàn tất triển khai. Lệnh như sau:

sudo wget -c https://hub.fastbee.cn/resource/install.sh && bash ./install.sh

Lưu ý:

  • Script bao gồm phiên bản mã nguồn mở và thương mại, phiên bản thương mại chỉ dành cho người dùng đã được cấp phép, cài đặt cần mật khẩu và chứng chỉ (liên hệ CSKH để lấy)
  • Việc tải file trong quá trình triển khai tương đối tốn thời gian, khi cài đặt khuyến nghị dùng image docker chính thức, script tự động cấu hình tăng tốc mirror, tốc độ sẽ nhanh hơn
  • Máy chủ mở các cổng tương ứng (ví dụ: 80, 1883, 8083, 5061, 30000-30100/tcp/udp...)

2. Triển khai nhanh docker-compose ​

Triển khai bằng docker-compose yêu cầu máy chủ cài sẵn docker và docker-compose

docker-compose cài đặt cùng lúc các ứng dụng và môi trường mà dự án phụ thuộc lên máy chủ hoặc máy cục bộ, thực hiện các bước sau để hoàn tất cài đặt triển khai:

1. Tải file lên ​

Trước tiên tải thư mục docker/data/ trong kho FastBee lên thư mục /var/ của máy chủ hoặc máy cục bộ, bản thương mại cần đóng gói lại backend và frontend, backend tải lên thư mục /var/data/java/, thay file jar; frontend tải lên thư mục /var/data/nginx/vue/ thay nội dung bên trong.

2. Bắt đầu triển khai ​

Vào thư mục /var/data/ của máy chủ hoặc máy cục bộ, chạy: docker-compose up -d chờ chạy xong là hoàn tất triển khai

3. Truy cập hệ thống ​

  • Sau khi triển khai hoàn tất, truy cập nền tảng IoT FastBee qua địa chỉ máy chủ, tài khoản mặc định admin admin123
  • Trong triển khai dùng emqx, có thể truy cập bảng điều khiển EMQX qua cổng 18083, tài khoản mật khẩu mặc định admin admin123

提示

  • Sau này triển khai lại dự án, chỉ cần thay file fastbee-admin.jar và nội dung thư mục vue
  • Container mysql cần thời gian khởi tạo, nếu backend báo lỗi, có thể docker restart java để khởi động lại backend
  • Tài khoản mặc định của triển khai nhanh:
    • Quản trị hệ thống: admin admin123
    • mysql: root fastbee
    • redis: fastbee
    • Bảng điều khiển emqx: admin admin123
    • TDengine: root taosdata
    • SIP: 12345678
    • Giám sát nguồn dữ liệu: fastbee fastbee

4. Tham khảo lệnh thường dùng khi triển khai ​

shell
# Có thể kéo trước image của các dịch vụ, thời gian tùy mạng, có thể cấu hình docker dùng mirror trong nước
docker-compose pull
# Build và khởi động container của các dịch vụ
docker-compose up -d  
# Dừng và xóa container của các dịch vụ
docker-compose down   
# Tạo thư mục data
mkdir /var/data
# Cấp quyền đọc ghi thực thi cho thư mục
sudo chmod 777 /var/data

5. Cấu hình tăng tốc image docker ​

Thực hiện lệnh theo các bước sau để hoàn tất cấu hình tăng tốc image. Địa chỉ mirror tăng tốc image docker được sưu tầm từ mạng, có thể tùy tình huống thêm hoặc bớt

shell
# 1. Tắt dịch vụ Docker
sudo systemctl stop docker

# 2. Nếu file không tồn tại thì tạo mới
sudo mkdir -p /etc/docker

# 3. Sửa file cấu hình của Docker
sudo tee /etc/docker/daemon.json <<-EOF
{
    "registry-mirrors": [
        "https://mirrors.ustc.edu.cn",
        "https://docker.chenby.cn",
        "http://mirror.azure.cn",
        "https://dockerpull.org",
        "https://dockerhub.icu",
        "https://hub.rat.dev",
        "https://dockerproxy.com",
        "https://mirror.baidubce.com",
        "https://docker.m.daocloud.io",
        "https://docker.nju.edu.cn",
        "https://docker.mirrors.sjtug.sjtu.edu.cn",
        "https://docker.rainbond.cc",
        "https://mirror.ccs.tencentyun.com",
        "https://registry.docker-cn.com",
        "https://hub-mirror.c.163.com",
        "https://docker.1ms.run", 
        "https://doublezonline.cloud", 
        "https://dislabaiot.xyz", 
        "https://docker.fxxk.dedyn.io", 
        "https://docker.unsee.tech", 
        "https://docker.1panel.live", 
        "https://docker.nastool.de", 
        "https://docker.zhai.cm", 
        "https://docker.5z5f.com", 
        "https://a.ussh.net", 
        "https://docker.udayun.com", 
        "https://hub.geekery.cn",
        "https://noohub.ru", 
        "https://huecker.io",
        "https://dockerhub.timeweb.cloud",
        "https://0c105db5188026850f80c001def654a0.mirror.swr.myhuaweicloud.com",
        "https://5tqw56kt.mirror.aliyuncs.com",
        "https://docker.ckyl.me/",
        "https://docker.hpcloud.cloud"
    ]
}
EOF

# 5. Khởi động lại dịch vụ Docker
sudo systemctl daemon-reload
sudo systemctl start docker

3. Xác minh kết quả triển khai ​

Sau khi triển khai hoàn tất, không nên chỉ nhìn trang có mở được không. Khuyến nghị nghiệm thu đầy đủ một lần theo thứ tự «container, backend, cơ sở dữ liệu, cache, MQTT, trang nghiệp vụ».

1. Trạng thái container ​

shell
cd /var/data
docker-compose ps
docker ps

Tất cả container cốt lõi phải ở trạng thái đang chạy. Nếu container java, mysql, redis, emqx hoặc nginx liên tục khởi động lại, trước tiên xem log tương ứng.

shell
docker logs -n 200 java
docker logs -n 200 mysql
docker logs -n 200 redis
docker logs -n 200 emqx
docker logs -n 200 nginx

2. Dịch vụ backend ​

shell
docker logs -n 300 java

Trọng điểm xác nhận không liên tục xuất hiện các lỗi sau:

  • Kết nối cơ sở dữ liệu thất bại.
  • Xác thực Redis thất bại.
  • Đọc chứng chỉ giấy phép thất bại.
  • Chiếm dụng cổng.
  • Khởi tạo SQL thất bại.
  • Kết nối cơ sở dữ liệu chuỗi thời gian thất bại.

Nếu MySQL khởi tạo chậm, sau khi backend khởi động lần đầu thất bại có thể chờ 1-2 phút rồi khởi động lại:

shell
docker restart java

3. Trang Web ​

Trình duyệt truy cập:

text
http://ip-may-chu/

Tài khoản mặc định:

Người dùngMật khẩu
adminadmin123

Sau khi đăng nhập, mở ít nhất các trang sau để xác nhận API khả dụng:

TrangTiêu chí nghiệm thu
Trang chủThẻ thống kê và menu tải bình thường
Quản lý sản phẩmDanh sách mở được, nút thêm mới bình thường
Quản lý thiết bịDanh sách mở được, lối vào chi tiết thiết bị bình thường
Quản lý hệ thốngCác trang người dùng, vai trò, menu mở được
Trang giấy phépBản thương mại có thể tải lên hoặc xem thông tin giấy phép

4. Dịch vụ MQTT ​

Địa chỉ bảng điều khiển EMQX:

text
http://ip-may-chu:18083/

Tài khoản mặc định:

Người dùngMật khẩu
adminadmin123

Sau khi vào bảng điều khiển, xác nhận listener bình thường. Sau đó có thể theo vòng khép kín hoàn chỉnh từ sản phẩm đến thiết bị (简体中文) dùng MQTTX thiết lập kết nối.

5. Xác minh nghiệp vụ tối thiểu ​

Tiêu chuẩn cuối cùng của nghiệm thu triển khai không phải container chạy, mà là nền tảng có thể hoàn thành một đường truyền nghiệp vụ thực tế:

  1. Tạo sản phẩm mới.
  2. Định nghĩa Thing Model.
  3. Phát hành sản phẩm.
  4. Tạo thiết bị mới.
  5. MQTTX kết nối nền tảng.
  6. Báo dữ liệu thuộc tính lên.
  7. Nền tảng gửi lệnh xuống.

Các bước đầy đủ vui lòng xem vòng khép kín hoàn chỉnh từ sản phẩm đến thiết bị (简体中文).

4. Hướng dẫn docker ​

docker là một engine container ứng dụng mã nguồn mở, cho phép nhà phát triển đóng gói ứng dụng cùng các gói phụ thuộc vào một image nhẹ, có thể di chuyển, sau đó phát hành tới bất kỳ máy hệ điều hành Linux hoặc Windows phổ biến nào, cũng có thể hiện thực ảo hóa. Container hoàn toàn dùng cơ chế sandbox, giữa các container không có bất kỳ giao diện nào (giống app trên iPhone), quan trọng hơn là chi phí hiệu năng của container cực thấp.

1. Cài đặt docker ​

提示

  • Image docker mặc định lấy từ kho chính thức, nếu tải chậm, có thể cấu hình kho mirror trong nước, hướng dẫn tham khảo
  • Cài bản desktop đã bao gồm docker engine và docker compose. Máy chủ thường cài riêng docker engine và docker compose

Cài đặt docker trên Linux ​

Cài đặt docker desktop trên Windows ​

Cài đặt docker desktop trên Mac ​

2. Lệnh docker thường dùng ​

shell
docker -v                                # xem phiên bản docker, kiểm tra cài đặt thành công chưa
docker ps                                # xem container đang chạy
docker ps -a                             # xem tất cả container
docker images                            # xem image cục bộ
docker info                              # xem thông tin cấp hệ thống của docker
docker pull [image]                      # kéo image
docker run  [image]                      # chạy container
docker restart  [container]              # khởi động lại container
docker stop [container]                  # dừng container
docker stats [container]                 # xem mức dùng tài nguyên của container
docker inspect [container]               # xem metadata của container
docker logs -n 1000 [container]          # xem 1000 dòng log trước của container
docker exec -it [container] /bin/bash    # vào bên trong container đang chạy
docker save nginx:latest > nginx.tar     # lưu một image
docker load -i nginx.tar                 # nạp image từ file tar

docker network create -d bridge fastbee-bridge         # tạo một mạng mới, đặt tên fastbee-bridge
docker network ls                                      # hiển thị tất cả mạng
docker network connect fastbee-bridge test             # container test gia nhập mạng tùy biến
docker inspect fastbee-bridge                          # xem container trong mạng fastbee-bridge

3. Chế độ mạng docker ​

docker có 5 chế độ mạng, có thể chỉ định chế độ mạng của container qua --net=***.

shell
chế độ bridge     # mặc định, khi bên ngoài truy cập dịch vụ trong container, cần truy cập IP của host và cổng port của host
chế độ host       # địa chỉ IP của container chính là địa chỉ IP của host
chế độ container  # container chia sẻ môi trường mạng của container khác
chế độ overlay    # truyền thông liên máy
chế độ none       # không dựng môi trường mạng nào cho container, container chỉ dùng mạng cục bộ 127.0.0.1

4. Bridge docker ​

Bridge dùng cho truyền thông giữa các container, nếu các container chạy độc lập, cần dùng lệnh dưới đây tạo bridge

shell
docker network create -d bridge fastbee-bridge

5. Lệnh docker-compose thường dùng ​

shell
docker-compose -v        # xem phiên bản docker-compose, kiểm tra cài đặt thành công chưa
docker-compose up -d     # build và khởi động container của các dịch vụ
docker-compose down      # dừng và xóa container của các dịch vụ
docker-compose ps        # liệt kê tất cả container của các dịch vụ
docker-compose start     # khởi động container của các dịch vụ
docker-compose stop      # dừng container đang chạy của các dịch vụ
docker-compose restart   # khởi động lại container của các dịch vụ
docker-compose logs      # xem output của container các dịch vụ
docker-compose pull      # kéo image mà các dịch vụ phụ thuộc
docker-compose config    # xác minh và xem cấu hình file compose

5. Tài liệu liên quan ​