Triển khai nhanh
Tổng quan trang
Lối vào triển khai và quy trình tối thiểu
- 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.
- 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.
- 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.
- 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ế.
- 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
vuefrontend dưới/var/datacó 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.jarvà nội dung thư mụcvue - 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
# 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/data5. 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
# 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 docker3. 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
cd /var/data
docker-compose ps
docker psTấ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.
docker logs -n 200 java
docker logs -n 200 mysql
docker logs -n 200 redis
docker logs -n 200 emqx
docker logs -n 200 nginx2. Dịch vụ backend
docker logs -n 300 javaTrọ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:
docker restart java3. Trang Web
Trình duyệt truy cập:
http://ip-may-chu/Tài khoản mặc định:
| Người dùng | Mật khẩu |
|---|---|
admin | admin123 |
Sau khi đăng nhập, mở ít nhất các trang sau để xác nhận API khả dụng:
| Trang | Tiê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ẩm | Danh 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ống | Các trang người dùng, vai trò, menu mở được |
| Trang giấy phép | Bả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:
http://ip-may-chu:18083/Tài khoản mặc định:
| Người dùng | Mật khẩu |
|---|---|
admin | admin123 |
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ế:
- Tạo sản phẩm mới.
- Định nghĩa Thing Model.
- Phát hành sản phẩm.
- Tạo thiết bị mới.
- MQTTX kết nối nền tảng.
- Báo dữ liệu thuộc tính lên.
- 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
- Hướng dẫn tham khảo (khuyến nghị cài hệ thống con WSL và Windows Terminal, sau đó cài Docker)
- hướng dẫn cài docker
Cài đặt docker desktop trên Mac
2. Lệnh docker thường dùng
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-bridge3. Chế độ mạng docker
docker có 5 chế độ mạng, có thể chỉ định chế độ mạng của container qua --net=***.
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.14. 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
docker network create -d bridge fastbee-bridge5. Lệnh docker-compose thường dùng
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

