v1.0.2-202505121512
修改日志
- 服务端
- janus-gatewa 服务从 v1.2.2(2024年4月2日) 升级至 v1.3.1(2025月3月5日), 由于官方仅提供源代码, 因此需手动构建 Docker 镜像
- emqx 服务从 v5.6(2024月3月) 升级至 v5.8.6(2025月2月)
- Web 客户端
- 主题色细节优化:伴随 Tailwind CSS 从 v3 升级至 v4, 样式定义方式有所变化。其中, 色彩表示方式也从 hsl 模式转变为了 oklch 模式。
EMQX 5.6到5.8.6版本的升级补充说明
从EMQX 5.6到5.8.6版本的升级中, 主要涉及功能增强、性能优化、安全改进和错误修复等多个方面。以下是关键变动的详细说明:
一、5.6版本核心更新(2024年3月)
-
数据集成扩展
- 新增Amazon S3和RabbitMQ消费者数据集成功能, 支持将MQTT消息高效存储至S3兼容存储(如MinIO)或桥接至RabbitMQ队列, 实现灵活的数据存储与跨系统消息流转。
- 规则引擎引入JSON Schema验证, 支持对MQTT消息进行格式校验, 并兼容Protobuf和Avro格式, 确保数据完整性。
-
性能与稳定性优化
- 升级Kafka生产者客户端至1.10.2, 通过减少元数据连接频率优化性能。
- 为DNS自动集群配置添加参数校验, 确保
node.name与cluster.discover_strategy的联动性。
-
API与功能改进
- 优化
GET /clientsREST API, 支持批量查询和指定返回字段。 - 黑名单功能新增匹配规则, 提升访问控制灵活性。
- 优化
二、5.7版本核心更新(2024年5月)
-
会话持久化与高可用性
- 引入会话持久化(Durable Sessions), 将MQTT会话和消息存储至磁盘, 并通过集群复制实现高可用性。支持配置复制因子, 平衡持久性与性能。
- 减少在线/离线会话的内存占用, 支持更大规模的消息处理。
-
规则引擎增强
- 新增规则调试与追踪功能, 允许使用模拟数据或真实客户端触发规则, 查看SQL执行结果和动作日志, 加速开发与排错。
- 动态输入提示功能简化规则配置, 自动推导可用变量并提供输入建议。
-
安全与访问控制
- 支持客户端属性作为ACL规则的前置条件, 实现更精细的访问控制。
- 修复JWT认证漏洞, 强制断开过期客户端连接, 提升安全性。
-
插件与集成优化
- 支持插件热配置和自定义UI, 自动生成插件管理页面, 降低开发成本。
- 优化Apache IoTDB和RocketMQ集成, 支持批量插入和阿里云命名空间。
三、5.8版本核心更新(2024年8月-2025年2月)
5.8.0版本(2024年8月)
-
跨区域集群与灾难恢复
- 新增**集群链接(Cluster Linking)**功能, 支持跨区域连接多个EMQX集群, 实现全球分布式通信和无缝故障转移。通过统一命名空间和智能路由减少消息复制, 提升效率。
-
消息转换与数据集成
- 引入消息转换功能, 允许在发布前对消息进行自定义处理(如字段添加、格式转换), 支持多种编码格式。
- 扩展数据集成支持Azure Blob Storage、Couchbase和Datalayers, 满足边缘计算和行业特定存储需求。
-
安全与认证增强
- 支持Kerberos认证和OIDC SSO, 强化企业级安全合规性。
- HTTP认证新增ACL字段, 通过响应体动态控制客户端权限。
-
运维与升级优化
- 推出热升级功能, 实现秒级无中断升级, 支持模块级更新和自定义插件包上传。
- 移除对CentOS 7和Ubuntu 18的支持, 转向更现代的操作系统。
5.8.1至5.8.6版本(2024年10月-2025年2月)
-
兼容性与配置优化
- 5.8.1:禁止Kafka消费者连接器重复订阅同一主题, 修复保留消息订阅逻辑。
- 5.8.2:验证集群链接配置, 禁止重复主题过滤, Kafka生产者动态主题不再支持磁盘缓冲。
-
错误修复与性能优化
- 修复QoS 2消息的报文ID释放问题, 避免资源泄漏。
- 解决macOS因OpenSSL动态链接导致的启动问题。
- 优化Pulsar和Kafka生产者性能, 修复状态泄漏问题。
- 增强SQL Server连接器错误处理, 提升网络不稳定时的可靠性。
-
可观测性改进
- 限流
dropped_qos0_msg警告日志, 减少冗余输出。 - 优化协议错误日志, 增加
unexpected_connect_packet等详细上下文。
- 限流
四、总结与建议
从5.6到5.8.6版本, EMQX在集群管理、数据集成、规则引擎和安全性等方面实现了显著提升。特别是5.8版本的集群链接和热升级功能, 为大规模分布式物联网部署提供了更灵活的解决方案。建议用户根据业务需求重点关注以下升级收益:
- 高可用性:会话持久化和集群链接功能可增强系统容错能力。
- 数据处理:消息转换和Schema验证有助于提升数据质量。
- 运维效率:热升级和规则调试功能可减少停机时间和开发成本。
升级前, 请务必查阅官方文档 , 了解不兼容变更(如5.8版本移除Core-Replicant功能)并备份配置。
Janus Gateway v1.2.2到v1.3.1的升级补充说明
从Janus Gateway v1.2.2到v1.3.1的升级中, 主要涉及功能增强、插件优化、稳定性修复和协议支持扩展。以下是关键变动的详细说明:
一、v1.2.2(2024年4月2日)核心更新
-
插件与功能优化
- 修复Video Room插件中的罕见竞争条件(PR-3331), 解决订阅者端到端加密失效问题, 并修复远程发布者的端口泄漏(Issue-3345)。
- 优化Audiobridge插件的音频电平检测逻辑(PR-3312), 并修复因迟到数据包导致的内存泄漏问题。
- 集成speexdsp的抖动缓冲区作为本地依赖, 移除对外部speexdsp库的强制依赖(PR-3348)。
-
协议与兼容性
- 新增对ABS-Capture-Time RTP扩展的支持(PR-3291), 优化流媒体插件的时间戳处理。
- 改进janus.js的连接状态回调(PR-3343), 支持通过HTTP GET请求调用管理API的ping接口(Issue-3336)。
-
构建与依赖
- 更新演示和文档以适配Bootstrap 5.x(PR-3300), 提升前端界面兼容性。
二、v1.3.0(2024年11月25日)核心更新
-
架构与日志改进
- 重构日志内部实现(PR-3428), 提升日志输出的一致性和性能。
- 使用
strtok解析SDP(PR-3424), 增强协议解析的健壮性。
-
插件功能增强
- Video Room插件:
- 修复创建RTP转发器失败时的死锁问题(PR-3468), 并优化参与者队列的清理逻辑(PR-3475)。
- 新增对SRTCP的支持(PR-3449), 允许通过JSON元数据传递自定义信息(PR-3467)。
- 降低PLI(Picture Loss Indication)的发送频率(PR-3423), 减少网络带宽占用。
- 流媒体插件:优化挂载点创建失败后的资源清理(PR-3465), 提升稳定性。
- SIP插件:改进呼叫清理流程(Issue-3430), 增加自定义SIP头的最大尺寸(Issue-3459), 并优化呼叫ID的跟踪逻辑(PR-3443)。
- Video Room插件:
-
协议与兼容性
- 支持在SDP中解析更多属性(PR-3424), 兼容更广泛的客户端配置。
三、v1.3.1(2024年11月后)优化与修复
-
稳定性修复
- 针对v1.3.0中发现的潜在问题进行补丁更新, 例如内存泄漏和线程安全问题(具体变更未在公开日志中详细披露)。
-
性能优化
- 进一步优化核心模块的资源管理, 减少高并发场景下的延迟和内存占用。
四、总结与建议
从v1.2.2到v1.3.1, Janus Gateway在视频会议插件的稳定性、协议兼容性和资源管理方面实现了显著提升。特别是v1.3.0版本通过重构日志系统和增强SRTCP支持, 为企业级实时通信场景提供了更可靠的解决方案。建议用户重点关注以下升级收益:
- 高可用性:Video Room插件的死锁修复和资源清理优化可减少服务中断风险。
- 协议支持:SRTCP和ABS-Capture-Time扩展提升了媒体传输的安全性和时间同步精度。
- 开发效率:janus.js的连接状态回调和API改进简化了客户端集成流程。
升级前, 请务必查阅官方文档 , 了解依赖变更(如speexdsp的本地集成)并备份配置。对于生产环境, 建议先在测试环境验证v1.3.0的兼容性, 再逐步升级至v1.3.1以获取最新修复。
测试说明
本部分详细阐述在 Ubuntu Server 22.04 LTS 系统上执行安装程序测试的具体步骤。
测试步骤
下载安装包并安装
# 通过 scp 获取
scp root@47.121.142.93:/home/tmp/es-center-server-*-app-1.0.2-202505121512.tar.gz .
# 创建安装目录, 路径可根据实际需求灵活调整
sudo mkdir -p /tmp/es-center-server-install-app
# 将下载的安装包解压到指定的安装目录
sudo tar -xzvf es-center-server-install-app-1.0.2-202505121512.tar.gz -C /tmp/es-center-server-install-app
# 查看解压后安装目录下各文件和文件夹的大小
sudo du -sh /tmp/es-center-server-install-app/*
# 安装前可选择修改配置文件。命令行输入的参数会覆盖配置文件中的设置,
# 但若命令行参数数量少于配置文件中的参数, 可根据特殊需求手动调整配置文件。
sudo nano /tmp/es-center-server-install-app/es-center-server-service/.env
# 根据实际情况指定服务安装目录、数据存储目录、内网 IP、公网 IP 以及域名。
# 进入安装目录并执行安装脚本完成安装。
# 特别注意, `data-root-dir` 对应的目录至关重要, 用于存储服务器运行过程中产生的数据(如日志文件、数据库内容等)。
# 因此, 务必将其设置为具有充足存储空间且安全可靠的目录。
# 推荐将此目录设置为磁盘阵列中的某个目录, 以确保数据的安全性与可靠性。
# `internal-eth-name` 是内网网卡名称(如 eth0), 涉及 janus 服务的配置需根据实际情况调整。
cd /tmp/es-center-server-install-app
sudo ./cli install-server \
--service-root-dir /opt/es-center-server-service \
--data-root-dir /var/lib/es-center-server-data \
--internal-eth-name eth0 \
--internal-ip 172.16.8.178 \
--external-ip 120.26.124.232 \
--domain-name zxs-cs.netbodycamera.com
# 显示 docker 实例信息
sudo docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Image}}\t{{.Status}}"安装成功后, 导入词条:
平台支持随时导入词条, 以便于新增或修改词条内容。
词条文件下载链接:
在中心服务平台成功安装后, 请使用管理员账号登录系统, 并导入中文词条文件。
导入完成后, 请等待大约3分钟, 然后刷新页面。随后, 您可以测试平台的中英文切换功能。
更新或申请 SSL 证书
要更新或申请服务器的 SSL 证书, 请按照以下步骤操作:
- 确保配置文件中已正确配置域名。
- 执行以下命令调用
certbot来生成新的 SSL 证书, 并将其应用于服务器。
# 更新并生成 SSL 证书
cd /opt/es-center-server-service
sudo ./cli update-server-ssl
# 在命令行界面打印以下信息时, 请按一下回车键:
#
# Account registered.
# Requesting a certificate for zxs-cs.netbodycamera.com配置文件说明
安装前, 配置文件位于安装程序目录的相对路径:./es-center-server-service/.env
安装后, 配置文件位于 service-root-dir 对应的目录下, 文件名为:.env
# ####################################
# ### es-center-server Basic Configuration
# ####################################
# Root directory for the es-center-server service
ES_CENTER_SERVER_SERVICE_ROOT_DIR=/opt/es-center-server-service
# Data root directory for the es-center-server
ES_CENTER_SERVER_DATA_ROOT_DIR=/var/lib/es-center-server-data
# Internal IP address of the es-center-server
ES_CENTER_SERVER_INTERNAL_IP=192.168.0.1
# External IP address of the es-center-server
ES_CENTER_SERVER_EXTERNAL_IP=192.168.0.1
# Domain name of the es-center-server
ES_CENTER_SERVER_DOMAIN_NAME=example.com
# ####################################
# ### es-center-server-coturn WebRTC Traversal Service Configuration
# ####################################
# Docker image tag for the COTURN service
ES_CENTER_SERVER_COTURN_DOCKER_IMAGE_TAG=latest
# Domain name for the COTURN service
ES_CENTER_SERVER_COTURN_DOMAIN_NAME=example.com
# Internal Ethernet interface name for the COTURN service
ES_CENTER_SERVER_COTURN_INTERNAL_ETH_NAME=eth0
# Internal IP address of the COTURN service
ES_CENTER_SERVER_COTURN_INTERNAL_IP=192.168.0.1
# External IP address of the COTURN service
ES_CENTER_SERVER_COTURN_EXTERNAL_IP=192.168.0.1
# Specifies the main listening port for the COTURN service.
# This is the port on which the COTURN server listens for incoming connections.
ES_CENTER_SERVER_COTURN_LISTENING_PORT=3478
# Defines the minimum port number within the range used by the COTURN service.
# COTURN may allocate ports starting from this value for certain operations.
ES_CENTER_SERVER_COTURN_MIN_PORT=20000
# Defines the maximum port number within the range used by the COTURN service.
# COTURN will not allocate ports beyond this value for relevant operations.
ES_CENTER_SERVER_COTURN_MAX_PORT=39999
# TURN username for the COTURN service
ES_CENTER_SERVER_COTURN_TURN_USERNAME=webrtc-1
# TURN credential for the COTURN service
ES_CENTER_SERVER_COTURN_TURN_CREDENTIAL=A7mKp2L9xQ4Zn3T8
# ####################################
# ### es-center-server-janus WebRTC Gateway Configuration
# ####################################
# Docker image tag for the Janus service
ES_CENTER_SERVER_JANUS_DOCKER_IMAGE_TAG=0.0.3
# Identifier for the Janus instance
ES_CENTER_SERVER_JANUS_NO=janus-1
# Internal Ethernet interface name for the Janus service
ES_CENTER_SERVER_JANUS_INTERNAL_ETH_NAME=eth0
# Internal IP address of the Janus service
ES_CENTER_SERVER_JANUS_INTERNAL_IP=192.168.0.1
# External IP address of the Janus service
ES_CENTER_SERVER_JANUS_EXTERNAL_IP=192.168.0.1
# Defines the range of ports that the Janus service will use for Real - Time Transport Protocol (RTP) traffic.
# RTP is responsible for the actual transmission of audio and video data.
# The Janus service will allocate ports from 40000 to 59999 for handling RTP streams during media communication.
ES_CENTER_SERVER_JANUS_RTP_PORT_RANGE=40000-59999
# ####################################
# ### es-center-server-activemq-artemis Message Queue Configuration
# ####################################
# Docker image tag for the ActiveMQ Artemis service
ES_CENTER_SERVER_ACTIVEMQ_ARTEMIS_DOCKER_IMAGE_TAG=latest
# Username for the ActiveMQ Artemis service
ES_CENTER_SERVER_ACTIVEMQ_ARTEMIS_USER=artemis
# Password for the ActiveMQ Artemis service
ES_CENTER_SERVER_ACTIVEMQ_ARTEMIS_PASSWORD=abcd1234abcd
# TCP port for the ActiveMQ Artemis service
ES_CENTER_SERVER_ACTIVEMQ_ARTEMIS_TCP_PORT=61616
# HTTP port for the ActiveMQ Artemis service
ES_CENTER_SERVER_ACTIVEMQ_ARTEMIS_HTTP_PORT=8161
# ####################################
# ### es-center-server-emqx MQTT Message Broker Configuration
# ####################################
# Docker image tag for the EMQX service
ES_CENTER_SERVER_EMQX_DOCKER_IMAGE_TAG=5
# HTTP port for the EMQX service
ES_CENTER_SERVER_EMQX_HTTP_PORT=18083
# HTTPS port for the EMQX service
ES_CENTER_SERVER_EMQX_HTTPS_PORT=8883
# TCP port for the EMQX service
ES_CENTER_SERVER_EMQX_TCP_PORT=1883
# WebSocket port for the EMQX service
ES_CENTER_SERVER_EMQX_WS_PORT=8083
# Secure WebSocket port for the EMQX service
ES_CENTER_SERVER_EMQX_WSS_PORT=8084
# IP address of the EMQX service
ES_CENTER_SERVER_EMQX_IP=192.168.0.1
# ####################################
# ### es-center-server-nginx Reverse Proxy Configuration
# ####################################
# Docker image tag for the Nginx service
ES_CENTER_SERVER_NGINX_DOCKER_IMAGE_TAG=stable-alpine
# HTTP port for the Nginx service
ES_CENTER_SERVER_NGINX_HTTP_PORT=80
# HTTPS port for the Nginx service
ES_CENTER_SERVER_NGINX_HTTPS_PORT=443
# ####################################
# ### es-center-server-pg Database Cluster Configuration
# ####################################
# Docker image tag for PostgreSQL instance 0
ES_CENTER_SERVER_PG_0_DOCKER_IMAGE_TAG=16.3.0
# Docker image tag for PostgreSQL instance 1
ES_CENTER_SERVER_PG_1_DOCKER_IMAGE_TAG=16.3.0
# Docker image tag for Pgpool service
ES_CENTER_SERVER_PG_PGPOOL_DOCKER_IMAGE_TAG=4.5.2
# Username for Repmgr in PostgreSQL
ES_CENTER_SERVER_PG_REPMGR_USERNAME=repmgr
# Password for Repmgr in PostgreSQL
ES_CENTER_SERVER_PG_REPMGR_PASSWORD=abcd1234abcd
# Password for the 'postgres' user in PostgreSQL
ES_CENTER_SERVER_PG_POSTGRESQL_POSTGRES_PASSWORD=abcd1234abcd
# Username for the application in PostgreSQL
ES_CENTER_SERVER_PG_POSTGRESQL_USERNAME=es
# Password for the application in PostgreSQL
ES_CENTER_SERVER_PG_POSTGRESQL_PASSWORD=abcd1234abcd
# Username for SR check in Pgpool
ES_CENTER_SERVER_PG_PGPOOL_SR_CHECK_USER=repmgr
# Password for SR check in Pgpool
ES_CENTER_SERVER_PG_PGPOOL_SR_CHECK_PASSWORD=abcd1234abcd
# Username for the 'postgres' user in Pgpool
ES_CENTER_SERVER_PG_PGPOOL_POSTGRES_USERNAME=postgres
# Password for the 'postgres' user in Pgpool
ES_CENTER_SERVER_PG_PGPOOL_POSTGRES_PASSWORD=abcd1234abcd
# Admin username for Pgpool
ES_CENTER_SERVER_PG_PGPOOL_ADMIN_USERNAME=admin
# Admin password for Pgpool
ES_CENTER_SERVER_PG_PGPOOL_ADMIN_PASSWORD=abcd1234abcd
# Custom usernames for PostgreSQL in Pgpool
ES_CENTER_SERVER_PG_PGPOOL_POSTGRES_CUSTOM_USERS=es
# Custom passwords for PostgreSQL in Pgpool
ES_CENTER_SERVER_PG_PGPOOL_POSTGRES_CUSTOM_PASSWORDS=abcd1234abcd
# Port for the PostgreSQL service
ES_CENTER_SERVER_PG_PORT=5433
# ####################################
# ### es-center-server-redis Cache Service Configuration
# ####################################
# Docker image tag for the Redis service
ES_CENTER_SERVER_REDIS_DOCKER_IMAGE_TAG=7.2.5
# Port for the Redis service
ES_CENTER_SERVER_REDIS_PORT=6379
# Password for the Redis service
ES_CENTER_SERVER_REDIS_PASSWORD=abcd1234abcd
# Maximum memory limit for the Redis service
ES_CENTER_SERVER_REDIS_MAXMEMORY=100mb
# Memory eviction policy for the Redis service, using LRU
ES_CENTER_SERVER_REDIS_MAXMEMORY_POLICY=allkeys-lru
# ####################################
# ### es-center-server-main-service Main Service Configuration
# ####################################
# Docker image tag for the main service
ES_CENTER_SERVER_MAIN_SERVICE_DOCKER_IMAGE_TAG=1.20250416
# Java options for the main service, setting memory limits
ES_CENTER_SERVER_MAIN_SERVICE_JAVA_OPTS=-Xmx1024m -Xms512m -Xmn256m -XX:MaxDirectMemorySize=128m -XX:+UseG1GC -XX:MaxGCPauseMillis=200
# Commented-out alternative Java options for the main service with different memory limits
# ES_CENTER_SERVER_MAIN_SERVICE_JAVA_OPTS=-Xmx2048m -Xms1024m -Xmn512m -XX:MaxDirectMemorySize=256m -XX:+UseG1GC -XX:MaxGCPauseMillis=150
# HTTP port for the main service
ES_CENTER_SERVER_MAIN_SERVICE_HTTP_PORT=84
# ####################################
# ### es-center-server-device-service Device Service Configuration
# ####################################
# Docker image tag for the device service
ES_CENTER_SERVER_DEVICE_SERVICE_DOCKER_IMAGE_TAG=1.20250416
# Java options for the device service, setting memory limits
ES_CENTER_SERVER_DEVICE_SERVICE_JAVA_OPTS=-Xmx1024m -Xms512m -Xmn256m -XX:MaxDirectMemorySize=128m -XX:+UseG1GC -XX:MaxGCPauseMillis=200
# Commented-out alternative Java options for the device service with different memory limits
# ES_CENTER_SERVER_DEVICE_SERVICE_JAVA_OPTS=-Xmx2048m -Xms1024m -Xmn512m -XX:MaxDirectMemorySize=256m -XX:+UseG1GC -XX:MaxGCPauseMillis=150
# HTTP port for the device service
ES_CENTER_SERVER_DEVICE_SERVICE_HTTP_PORT=86
# ####################################
# ### es-center-server-web-app Web Application Configuration
# ####################################
# Docker image tag for the web application
ES_CENTER_SERVER_WEB_APP_DOCKER_IMAGE_TAG=1.20250416
# HTTP port for the web application
ES_CENTER_SERVER_WEB_APP_HTTP_PORT=89验证安装结果
为确认安装是否成功, 可执行以下操作:
# 系统初次启动需进行数据初始化, 等待 4 分钟后可通过浏览器访问指定 IP 验证安装情况。
# admin 账号的登录密码将在首次登录时生成。
# 示例访问地址:https://192.168.1.33
# 检查是否成功导入 Docker 镜像
sudo docker images
# 查看是否有 Docker 容器成功运行
sudo docker ps
# 检查配置文件是否已复制到目标目录
sudo ls -la /opt/es-center-server-service/
# 检查数据目录是否已成功创建
sudo ls -la /var/lib/es-center-server-data/
# 查看配置文件内容
sudo cat /opt/es-center-server-service/.env
# 查看配置文件内容, 确认占位符是否已被替换为正确的值
sudo cat /opt/es-center-server-service/es-center-server-coturn/etc/coturn/turnserver.conf
# listening-ip=ES_CENTER_SERVER_COTURN_INTERNAL_IP
# relay-ip=ES_CENTER_SERVER_COTURN_INTERNAL_IP
# external-ip=ES_CENTER_SERVER_COTURN_EXTERNAL_IP/ES_CENTER_SERVER_COTURN_INTERNAL_IP
# server-name=ES_CENTER_SERVER_COTURN_DOMAIN_NAME
# realm=ES_CENTER_SERVER_COTURN_DOMAIN_NAME
# 查看各个服务的状态
sudo docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
# 查看各个服务的日志, 确保服务正常运行
# es-center-server-coturn WebRTC Traversal Service
sudo docker compose -f /opt/es-center-server-service/es-center-server-coturn/docker-compose.yml logs -f
# es-center-server-janus WebRTC Gateway
sudo docker compose -f /opt/es-center-server-service/es-center-server-janus/docker-compose.yml logs -f
# es-center-server-activemq-artemis Message Queue
sudo docker compose -f /opt/es-center-server-service/es-center-server-activemq-artemis/docker-compose.yml logs -f
# es-center-server-emqx MQTT Message Broker
sudo docker compose -f /opt/es-center-server-service/es-center-server-emqx/docker-compose.yml logs -f
# es-center-server-nginx Reverse Proxy
sudo docker compose -f /opt/es-center-server-service/es-center-server-nginx/docker-compose.yml logs -f
# es-center-server-pg Database Cluster
sudo docker compose -f /opt/es-center-server-service/es-center-server-pg/docker-compose.yml logs -f
# es-center-server-redis Cache Service
sudo docker compose -f /opt/es-center-server-service/es-center-server-redis/docker-compose.yml logs -f
# es-center-server-main-service Main Service
sudo docker compose -f /opt/es-center-server-service/es-center-server-main-service/docker-compose.yml logs -f
# es-center-server-device-service Device Service
sudo docker compose -f /opt/es-center-server-service/es-center-server-device-service/docker-compose.yml logs -f
# es-center-server-web-app Web Application
sudo docker compose -f /opt/es-center-server-service/es-center-server-web-app/docker-compose.yml logs -f安装后配置更新或升级
修改配置文件
安装成功后, 可通过修改配置文件更新配置, 具体步骤如下:
# 使用 vim 或 nano 编辑器修改配置文件中 `# custom` 部分的内容, 其余部分保持不变
sudo vi /opt/es-center-server-service/.env
sudo nano /opt/es-center-server-service/.env
# 完成修改后, 进入服务目录并执行更新脚本
cd /opt/es-center-server-service
sudo ./cli update-server
# 验证各个服务中的配置是否已更新
sudo cat /opt/es-center-server-service/es-center-server-coturn/etc/coturn/turnserver.conf
sudo cat /opt/es-center-server-service/es-center-server-janus/opt/janus/etc/janus/janus.transport.mqtt.jcfg
sudo cat /opt/es-center-server-service/es-center-server-nginx/etc/nginx/conf.d/default.conf
sudo cat /opt/es-center-server-service/es-center-server-web-app/etc/nginx/conf.d/default.conf升级服务
# 通过 wget 下载
wget https://zxs-dev.netbodycamera.com/download/es-center-server-upgrade-app-1.0.2-202505121512.tar.gz
# 创建升级目录, 此目录路径可依据实际情况灵活设定
sudo mkdir -p /tmp/es-center-server-upgrade-app
# 把下载的升级包解压至指定的升级目录
sudo tar -xzvf es-center-server-upgrade-app-1.0.2-202505121512.tar.gz -C /tmp/es-center-server-upgrade-app
# 查看解压后升级目录里各文件和文件夹的大小
sudo du -sh /tmp/es-center-server-upgrade-app/*
# 进入升级目录并执行升级脚本以完成升级。
# 必须指定已安装的服务根目录 `service-root-dir`, 若该目录不存在或者目录下没有 .env 文件, 升级将停止
cd /tmp/es-center-server-upgrade-app
sudo ./cli upgrade-server \
--service-root-dir /opt/es-center-server-service独立部署 Coturn 服务
# 通过 wget 下载
wget https://zxs-dev.netbodycamera.com/download/es-center-server-coturn-service-install-app-1.0.2-202505121512.tar.gz
# 通过分布式部署 Coturn 服务, 分担直播转发的流量压力。
# 创建 Coturn 服务的安装目录
sudo mkdir -p /tmp/es-center-server-coturn-service-install-app
# 将安装包解压到指定目录
sudo tar -xzvf es-center-server-coturn-service-install-app-1.0.2-202505121512.tar.gz -C /tmp/es-center-server-coturn-service-install-app
# 进入安装目录
cd /tmp/es-center-server-coturn-service-install-app
# 执行安装脚本完成 Coturn 服务的安装
sudo ./cli install-server-coturn-service \
--service-root-dir /opt/es-center-server-coturn-service \
--internal-eth-name eth0 \
--internal-ip 172.16.8.178 \
--external-ip 120.26.124.232 \
--domain-name zxs-cs-coturn.netbodycamera.com
# 安装后的常用检查方式
# 查看服务的日志, 确保服务正常运行
sudo docker compose -f /opt/es-center-server-coturn-service/es-center-server-coturn/docker-compose.yml logs -f
# 根据实际情况, 修改配置文件并更新服务
cd /opt/es-center-server-coturn-service
sudo nano .env
sudo ./cli update-server独立部署 Janus 服务
# 通过 wget 下载
wget https://zxs-dev.netbodycamera.com/download/es-center-server-janus-service-install-app-1.0.2-202505121512.tar.gz
# 通过分布式部署 Janus 服务, 分担 WEBRTC SFU 的流量压力。
# 创建 Janus 服务的安装目录
sudo mkdir -p /tmp/es-center-server-janus-service-install-app
# 将安装包解压到指定目录
sudo tar -xzvf es-center-server-janus-service-install-app-1.0.2-202505121512.tar.gz -C /tmp/es-center-server-janus-service-install-app
# 进入安装目录
cd /tmp/es-center-server-janus-service-install-app
# 执行安装脚本完成 Janus 服务的安装
sudo ./cli install-server-janus-service \
--service-root-dir /opt/es-center-server-janus-service \
--internal-eth-name eth0 \
--internal-ip 172.16.8.178 \
--external-ip 120.26.124.232 \
--janus-server-no janus-1 \
--emqx-ip 172.16.8.178 \
--emqx-tcp-port 1883 \
--coturn-external-ip 120.26.124.233
# 安装后的常用检查方式
# 查看服务的日志, 确保服务正常运行
sudo docker compose -f /opt/es-center-server-janus-service/es-center-server-janus/docker-compose.yml logs -f
# 根据实际情况, 修改配置文件并更新服务
cd /opt/es-center-server-janus-service
sudo nano .env
sudo ./cli update-server