AI陪伴机器人生产部署清单-从云服务器到稳定运行
10-生产部署清单-从云服务器到稳定运行系列AI 伙伴AI-Partner——具身智能陪伴机器人 · 数据接口部署与二次开发篇10/12一、先说结论这套 Demo 距离生产差几步AI 伙伴AI-Partner的后端是一个克制、清晰的工程但它的默认配置是为本地跑通设计的。上生产前心里要有这张差距账均来自源码实证如实列出现状开发态默认生产要求风险jpa.hibernate.ddl-autoupdate改validateDDL 受控执行自动改表可能在生产造成意外结构变更所有接口无鉴权拦截器必须加鉴权任何拿到地址的人都能读写全库CORS 对/api/**全开收紧白名单任意网页可跨域调接口数据库默认账号 root/root专用账号 强口令弱口令等于送库actuator 只暴露 health,info按需保留禁止公网直连基线安全密钥全走环境变量保持并升级为密钥管理别写进代码库就行这篇就按从裸服务器到稳定运行的顺序把每一步讲透。二、服务器与系统准备机型入门 2核4G 可跑通全套后端 MySQL 视觉服务视觉服务吃 CPU/NPU预算紧可以把它放边缘设备。系统主流 Linux 发行版均可选你熟的。开启防火墙时只放行 80/4438080、3306、8000、1883 一律不对公网开放——数据库和 broker 只允许本机或内网访问。时间同步开启 NTP。系统提示词里会拼当前时间时区错了提醒全乱。三、JDK17 与 MySQL8 安装要点JDK用发行版仓库或压缩包方式装 JDK 17java -version确认。别装 21 再抱怨 weird 兼容性问题——项目基线就是 17。MySQL 8安装后立刻做三件事——改 root 强口令、建专用账号只授ai_partner库的权限、确认字符集 utf8mb4。建库语句沿用项目文档CREATEDATABASEai_partnerDEFAULTCHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ci;导表sql/init.sql。注意该脚本无外键、无种子数据表间关系靠 user_id/device_code 逻辑关联——备份和迁移时要把逻辑一致性当成自己的责任。四、DDL 从 update 切到 validate生产环境把spring.jpa.hibernate.ddl-auto改为validate启动时只校验实体和表结构是否匹配不自动改表。所有结构变更改走受控流程开发环境验证变更 → 2. 写成增量 SQL 脚本含回滚语句→ 3. 低峰期人工/流水线执行 → 4. 重启服务用 validate 校验。这一步必须配代码外置配置用application-prod.yml或启动参数--spring.jpa.hibernate.ddl-autovalidate覆盖不要直接改仓库里的默认值然后忘记。五、密钥与敏感配置的安全管理原则一句话密钥永远不进代码库。项目的约定本来就对——LLM_API_KEY、MYSQL_PASSWORD、DASHSCOPE_API_KEY等全部走环境变量。生产再加三道锁注入方式systemd 的EnvironmentFile权限 600属主运行账号或密钥管理服务各云厂商都有 KMS/凭据管理不要把密钥写进启动脚本再提交 git。最小权限LLM key 与语音 key 分开泄露时好排查、好吊销。轮换演练定期换 key 走一遍旧 key 下线、新 key 生效流程确认没有密钥被硬编码在某个角落。六、JVM 参数建议以 4G 内存机器、给后端 2G 堆为例示意java-Xms1g-Xmx2g\-Duser.timezoneAsia/Shanghai\-XX:UseG1GC\-XX:MaxGCPauseMillis200\-jarai-partner-backend.jar-Xms/-Xmx初始与最大堆设成一样可避免动态伸缩抖动这台服务对话链路有 LLM HTTP 等待堆不用贪大。-Duser.timezoneAsia/Shanghai强烈建议。提醒调度器每分钟扫描remindTime时区不对提醒就是灾难。GC 用 G1 即可这是 JDK17 的默认选择没有极端延迟需求不必上花活。七、systemd 托管服务别再用nohup java -jar 了挂了都没人拉。systemd 单元文件示意# /etc/systemd/system/ai-partner.service [Unit] DescriptionAI Partner Backend Afternetwork.target mysql.service [Service] Useraipartner WorkingDirectory/opt/aipartner EnvironmentFile/opt/aipartner/aipartner.env ExecStart/usr/bin/java -Xms1g -Xmx2g -Duser.timezoneAsia/Shanghai -jar ai-partner-backend.jar Restartalways RestartSec5 [Install] WantedBymulti-user.targetsystemctl daemon-reloadsystemctlenable--nowai-partner journalctl-uai-partner-f# 看日志要点专用低权用户运行、Restartalways自动拉起、Aftermysql.service保证数据库先起。视觉服务同理再写一个 unituvicorn app:app --host 127.0.0.1 --port 8000——注意生产上视觉服务只监听本机由后端内网调用。八、Nginx 反向代理与 HTTPSserver { listen 443 ssl; server_name your.domain; # ssl_certificate / ssl_certificate_key 按云厂商证书配置 location /api/ { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_read_timeout 60s; # 对话要等 LLM别设太短 } }要点HTTPS 必须语音、健康数据在裸 HTTP 上传输不可接受proxy_read_timeout放宽到 60s 以上因为/api/chat要同步等大模型返回若未来引入长连接语音流、WebSocket需要额外配proxy_http_version 1.1、Upgrade/Connection头并拉长读写超时——现在项目的阻塞式对话暂时用不到提前知道有这回事就行。九、MQTT brokerEMQX 部署要点端口 1883 只对内网开放设备在公网的话上 8883 TLS。开启鉴权至少账号密码认证进阶做一机一密 ACL限制每台设备只能发布/订阅自己的device/{code}/...主题。项目默认配置里 MQTT 账号密码为空生产必须改。EMQX 管理台18083改默认口令或干脆不对公网开放。十、日志、监控与告警日志后端日志级别已按包设置journalctl 或落盘均可建议加 logback 滚动策略磁盘别被日志撑爆。监控actuator 目前只暴露 health 和 info/actuator/health适合接探活云厂商健康检查、Uptime 机器人定时戳它。它的局限也要清楚——healthUP 只代表进程活着不代表 LLM key 有效、不代表 MQTT 通。更实质的探活建议写个定时任务调/api/ping甚至发起一次测试对话失败就告警短信/企微/钉钉任选。告警分级服务挂 → 立刻告LLM 连续 401 → 立刻告单次视觉调用超时 → 允许降级聚合后再告。注意项目当前告警工单t_alert只有落库、无短信/推送触达外部通知通道要自己补。十一、备份与恢复演练MySQL 定时备份每晚mysqldump --single-transaction ai_partner | gzip落盘并异地对象存储/另一台机同步保留 7~30 天。恢复演练每季度找台空机用备份文件完整恢复一次并起服务验证。没演练过的备份等于没有备份——备份成功 ≠ 能恢复这是两条独立的命。隐私数据的备份文件要加密存储里面是老人的健康与情绪记录属于敏感个人信息。十二、升级发布与回滚流程建议示意mvn clean package→ 新 jar 上传为ai-partner-backend-new.jar→ 停服务、备份旧 jar → 换名启动 →curl /api/ping验证 → 异常则换回旧 jar 秒级回滚。数据库变更与代码版本解耦先加兼容性变更新表、新列可空后上代码回滚代码不动数据库避免结构来回横跳。条件允许就上双实例 Nginx 切流单实例时代至少保证 jar 包可秒换。十三、上线前检查清单档位检查项必须关闭或收紧 CORS白名单替代全开必须加接口鉴权JWT/小程序登录态 管理端隔离当前所有接口裸奔必须修改默认数据库密码建专用最小权限账号必须配置LLM_API_KEY等全部密钥环境变量/密钥服务不进代码库必须ddl-auto改 validateDDL 受控必须HTTPS 证书就位8080/3306/8000/1883 不对公网开放必须数据库备份任务上线 完成一次恢复演练必须隐私合规用户授权告知、健康/情绪数据最小化收集、医疗免责声明AI 仅善意提醒不构成诊断建议systemd 托管 自动重启JVM 时区与堆参数固化建议MQTT 开鉴权与 TLSEMQX 管理台改口令建议告警通道服务探活、LLM 401 监控日志滚动与留存策略建议发布/回滚脚本化提醒下发失败重试当前失败仅记日志加分接口限流actuator 加独立端口与访问控制加分恢复演练常态化密钥轮换机制灰度发布最后提醒一句这个系统服务的是老人、孩子和独居者稳定运行不只是运维指标更是责任——你多做的每一项检查都是某位长辈跌倒时那条告警能送出去的概率。上线清单逐项打勾别图快。

相关新闻

all-in-rag 食谱知识库实战:以一份简易红烧肉菜谱为例的数据准备全流程解析

all-in-rag 食谱知识库实战:以一份简易红烧肉菜谱为例的数据准备全流程解析

教程人工智能大模型RAG 【免费下载链接】all-in-rag 🔍大模型应用开发实战一:RAG 技术全栈指南,在线阅读地址:https://datawhalechina.github.io/all-in-rag/ 项目地址: https://gitcode.com/datawhalechina/all-in-ra…

2026/9/24 3:45:44 阅读更多 →
AutoCAD硬件加速与显卡驱动优化指南

AutoCAD硬件加速与显卡驱动优化指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 3:45:44 阅读更多 →
陪诊行业爆发:平台 + 陪诊师 + 医院 + 渠道多方分账怎么解?

陪诊行业爆发:平台 + 陪诊师 + 医院 + 渠道多方分账怎么解?

随着老龄化加剧、优质医疗资源紧张和城市就医流程复杂化,陪诊服务正在从 “小众帮忙” 变成城市家庭的高频刚需。一线城市陪诊平台数量已超过 200 家,不少项目从医院周边的小团队,快速成长为连接患者、陪诊师、医院渠道、保险公司和推荐人的医…

2026/9/24 3:45:43 阅读更多 →

最新新闻

WorkBuddy能给企业带来什么?从AI工具到业务智能体

WorkBuddy能给企业带来什么?从AI工具到业务智能体

很多公司现在已经在用 AI 了。但你去问员工“平时怎么用”,答案通常都差不多。写个方案的时候让 AI 帮忙改一下,开完会把录音或者文字丢进去整理纪要,销售写客户邮件时让 AI 润色几句。财务手里有一张乱七八糟的 Excel,也可能先让…

2026/9/24 4:29:14 阅读更多 →
为什么Jev诞生在OpenAI之外:System One模型与RLHF的隐藏代价

为什么Jev诞生在OpenAI之外:System One模型与RLHF的隐藏代价

Diogo Almeida(迭戈阿尔梅达)这周过得并不轻松。作为TypeSafe的联合创始人兼CEO,他刚刚发布了Jev——一个在整条时间线上刷屏的产品,而他自己形容当下的状态是"情绪上从未这么糟过",像一具被各种突发状况拖垮…

2026/9/24 4:29:14 阅读更多 →
鼎讯信通G-4000B光缆路由追踪仪的手机远程操作解析

鼎讯信通G-4000B光缆路由追踪仪的手机远程操作解析

在光缆故障追踪中,一个常见的尴尬是:仪表在机房或井口,人却在另一端敲击光缆,两边沟通全靠对讲机,效率低还容易出错。鼎讯光缆路由追踪仪G-4000B针对这个痛点,加入了手机APP远程控制功能,让单人…

2026/9/24 4:29:14 阅读更多 →
小米数字系列迎来史上最大升级,卢伟冰:AI全面改造智能手机的开始

小米数字系列迎来史上最大升级,卢伟冰:AI全面改造智能手机的开始

9月23日,小米秋季新品发布会在北京举行。小米18 Pro、小米18 Pro Max正式发布,性能、屏幕、背屏、影像等全面升级;小米平板9系列、小米手环11、小米手表S5以及多款科技家电新品同步亮相。小米18 Pro系列带来多项产品创新。全系搭载超级像素2.…

2026/9/24 4:29:13 阅读更多 →
人声音色怎么克隆

人声音色怎么克隆

如果需要统一视频中同一角色的跨片段声线,或是为旁白配置指定音色,可以借助专业剪辑工具的音色克隆功能完成处理。目前剪映专业版已支持基础的音色克隆与角色音色配置功能,处理前需要确认你使用的音色样本已获得合法授权,本文将基…

2026/9/24 4:29:13 阅读更多 →
LPC2388实战指南:AMBA总线与ARM7嵌入式开发深度解析

LPC2388实战指南:AMBA总线与ARM7嵌入式开发深度解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 4:28:13 阅读更多 →

日新闻

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为…

2026/9/24 0:00:19 阅读更多 →
单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

简介:一份基于单细胞RNA测序数据的细胞类型注释算法研究Python毕业设计源码,针对计算机相关专业正在做毕设或需要项目实战的学习者,可用于课程设计与期末大作业。项目代码完整、经导师指导评审通过,可直接运行,覆盖数据…

2026/9/24 0:00:19 阅读更多 →
C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

第一次在项目里被反射卡住,是在一个老旧的WinForms模块里:几十个类依赖PropertyChanged通知,运行时反射读属性、发通知,每次启动慢半拍不说,一上.NET Native/AOT裁剪模式几乎全面崩盘。后来我把这段逻辑全部改成C#源生…

2026/9/24 0:00:19 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/23 4:55:02 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/23 4:49:06 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/23 9:53:41 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/23 9:53:40 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/23 9:53:40 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/23 9:53:40 阅读更多 →