SkeyeVSS开发日志:环境变量 .env 配置项详解
试用安装包下载 | SMS | 试用安装包下载 | 在线演示项目源码地址https://github.com/openskeye/go-vss1. 关于.env.prod在 Skeyevss 中.env.prod或.env.prod.d是生产环境的总开关服务端口、IP、日志路径都来自它SIP/媒体联动参数来自它数据库、Redis、etcd 连接来自它各服务配置文件etc/.xxx.yaml通过${SKEYEVSS_*}占位符引用它配错 env服务可能“能启动但不可用”2. 配置加载机制2.1 配置链路启动命令读取-env参数如.env.prod变量注入进进程环境etc/.vss.yaml、etc/.backend-api.yaml等读取${SKEYEVSS_*}服务按替换后的最终值运行2.2 常见文件角色.env.prod本地/单机/非容器生产配置示例.env.prod.d容器部署场景示例含___INTERNAL_IP___占位符建议上线前保留一份最终生效的 env 备份便于回滚和审计。3. 配置项分组详解以下按“最常改、最容易出问题”的顺序说明。3.1 基础运行与环境标识配置项作用典型值SKEYEVSS_SERVER_ENV_MODE运行环境标识proSKEYEVSS_ROOT服务根目录/app或实际部署目录SKEYEVSS_SEV_BIND_IP服务绑定地址0.0.0.0SKEYEVSS_INTERNAL_IP内网访问地址10.x.x.x/192.168.x.xSKEYEVSS_EXTERNAL_IP公网访问地址公网 IPSKEYEVSS_CONTAINERIZED_STATE是否容器化模式标记true/false注意同局域网部署可将EXTERNAL_IP与INTERNAL_IP设为同值跨网/公网接入时必须准确区分内外网 IP3.2 服务启用与数据存储配置项作用典型值SKEYEVSS_DATABASE_TYPE数据库类型mysql或sqliteSKEYEVSS_ENABLED_MYSQL是否启用 MySQL 依赖true/falseSKEYEVSS_ENABLED_REDIS是否启用 Redis 依赖true/falseSKEYEVSS_ENABLED_ETCD是否启用 etcd 依赖true/falseSKEYEVSS_SAVE_VIDEO_DIR录像目录.../video-recordsSKEYEVSS_SAVE_VIDEO_SNAPSHOT_DIR抓拍目录.../video-snapshotSKEYEVSS_SAVE_SQL_DIRSQL 输出目录.../source/sql注意生产优先mysql视频/日志目录建议挂载到独立数据盘3.3 日志与排障开关配置项作用建议SKEYEVSS_SERVER_LOG_PATH日志根目录指向可持久化目录SKEYEVSS_LOG_MODE输出方式生产用fileSKEYEVSS_LOG_ENCODING日志格式json便于采集SKEYEVSS_LOG_LEVEL日志级别error或infoSKEYEVSS_PRINT_REQUEST_LOGHTTP 请求日志排障时临时开SKEYEVSS_PRINT_SAVE_SIP_LOG_FILESIP 文件日志建议开启SIP 日志路径$SKEYEVSS_SERVER_LOG_PATH/$SKEYEVSS_VSS_NAME/sip/3.4 鉴权与密钥配置项作用SKEYEVSS_AES_KEY对称加密基础密钥SKEYEVSS_U_KEY_BACKEND_APIBackend 鉴权密钥SKEYEVSS_U_KEY_VSSVSS 服务密钥SKEYEVSS_U_KEY_DBDB RPC 密钥SKEYEVSS_U_KEY_WEB_SEVWeb 服务密钥SKEYEVSS_U_KEY_JWTJWT 相关密钥注意如果需要针对访问DB做鉴权可根据SKEYEVSS_U_KEY_*做详细配置示例代码中目前未使用3.5 MySQL / Redis / etcdMySQLSKEYEVSS_MYSQL_HOSTSKEYEVSS_MYSQL_PORTSKEYEVSS_MYSQL_USERNAMESKEYEVSS_MYSQL_PASSWORDSKEYEVSS_MYSQL_DB_NAME_BASERedisSKEYEVSS_REDIS_HOSTSKEYEVSS_REDIS_PORTSKEYEVSS_REDIS_PASSWORDetcdSKEYEVSS_ETCD_HOSTSKEYEVSS_ETCD_CLIENT_PORTSKEYEVSS_ETCD_PEER_PORT注意DB RPC 连不上时80% 先查 etcd 地址和端口3.6 Web 代理前端入口配置项作用SKEYEVSS_WEB_SEV_PORTWeb 服务端口SKEYEVSS_WEB_SEV_PROXY_API_BACKEND后端 API 代理前缀SKEYEVSS_WEB_SEV_PROXY_FILE静态资源代理前缀SKEYEVSS_WEB_SEV_PROXY_FILE_URL文件访问基础 URLSKEYEVSS_WEB_SEV_CONFWeb 配置文件路径3.7 媒体服务SMS联动播放链路核心关键项SKEYEVSS_MEDIA_SERVER_PORTSKEYEVSS_MEDIA_SERVER_CONF_DEFSKEYEVSS_MEDIA_SERVER_NOTIFY_ON_PUB_STARTSKEYEVSS_MEDIA_SERVER_NOTIFY_ON_PUB_STOPSKEYEVSS_MEDIA_SERVER_NOTIFY_ON_SUB_STARTSKEYEVSS_MEDIA_SERVER_NOTIFY_ON_RTMP_CONNECT这些回调 URL 若不可达会导致“设备在线但播放异常”。3.8 VSSGB28181 核心最关键参数SKEYEVSS_VSS_PORTSIPSKEYEVSS_VSS_HTTP_PORTHTTP 回调SKEYEVSS_VSS_SSE_PORTSSESKEYEVSS_VSS_SIP_IDSKEYEVSS_VSS_SIP_DOMAINSKEYEVSS_VSS_SIP_PASSWORDSKEYEVSS_VSS_SIP_USE_EXTERNAL_WANSKEYEVSS_VSS_USE_EXTERNAL_IP公网接入建议设备跨公网时确认EXTERNAL_IP、USE_EXTERNAL_WAN和防火墙端口策略一致3.9 各微服务端口与配置文件绑定服务关键端口变量配置文件变量DB RPCSKEYEVSS_DB_GRPC_PORTSKEYEVSS_DB_GRPC_CONFVSSSKEYEVSS_VSS_PORTSKEYEVSS_VSS_CONFBackend APISKEYEVSS_BACKEND_API_PORTSKEYEVSS_BACKEND_API_CONFCronSKEYEVSS_CRON_PORTSKEYEVSS_CRON_CONFWebSKEYEVSS_WEB_SEV_PORTSKEYEVSS_WEB_SEV_CONFGuardSKEYEVSS_GUARD_PORTSKEYEVSS_GUARD_CONF4. 上线前必查清单SKEYEVSS_INTERNAL_IP/EXTERNAL_IP与实际网络一致SKEYEVSS_DATABASE_TYPE与实际依赖一致SKEYEVSS_VSS_SIP_*与设备侧平台参数一致媒体回调SKEYEVSS_MEDIA_SERVER_NOTIFY_*可达SKEYEVSS_SERVER_LOG_PATH、录像目录有写权限所有服务端口无冲突防火墙已放行5. 三个最常见误配案例案例 1后台正常视频黑屏原因媒体回调地址错误或 VSS SIP 参数不一致排查检查SKEYEVSS_MEDIA_SERVER_NOTIFY_*、SKEYEVSS_VSS_SIP_*案例 2DB RPC 启动成功但业务报错原因etcd 配置错误服务发现失败排查检查SKEYEVSS_ETCD_HOST、SKEYEVSS_ETCD_CLIENT_PORT案例 3公网设备注册不上原因SKEYEVSS_VSS_SIP_USE_EXTERNAL_WANfalse或外网地址错误排查检查SKEYEVSS_EXTERNAL_IP、公网端口放行策略6. 推荐配置策略6.1 开发环境日志可用plain info可启用sqlite内外网 IP 可先同值纯内网6.2 生产环境日志建议file json error/info使用mysql开启 SIP 文件日志做日志轮转与归档禁止默认密码与空密钥7. 变更流程建议.env.prod变更建议按以下流程执行变更前备份旧文件按模块修改并复核灰度环境验证低峰时段发布发布后做播放链路与设备注册回归测试
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2524852.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!