2.8 KiB
剧核工厂部署脚本
一键推送
在 Windows 项目根目录执行:
API\deploy\push.bat root@服务器IP
脚本会构建 WEB、ADMIN,交叉编译 Linux amd64 API,并上传二进制、静态文件、迁移、部署脚本以及 workers。默认增量推送不会上传本地 API/.env,服务器继续使用 /etc/juyou_ai/juyou_ai.env,避免 Windows 开发环境配置覆盖 Linux 生产配置。
仅上传、不执行服务器部署时也可以显式使用:
API\deploy\push.bat root@服务器IP stage-only
只有首次部署或明确需要整体替换服务器环境配置时,才使用:
API\deploy\push.bat root@服务器IP with-env
with-env 会把本地 API/.env 暂存为服务器 /tmp/juyou_ai.env。使用前必须确认其中的 FFmpeg、Python 和脚本路径适用于 Linux;普通增量部署不要使用该选项。
一键部署
上传完成后,在服务器执行:
sudo bash /opt/juyou_ai/deploy/one_click_deployment.sh
普通增量部署会继续使用 /etc/juyou_ai/juyou_ai.env。使用 with-env 推送时,部署脚本才会用 /tmp/juyou_ai.env 更新生产环境配置。
部署脚本会安装 python3-pip,并在缺失时安装 faster-whisper 1.2.1;同时会将 FFmpeg、Python 和音频识别脚本路径规范为 Linux 运行路径。push.bat 会在本机下载默认 small 模型,并在服务器缺少模型时上传到 /opt/juyou_ai/models/faster-whisper-small。服务器部署和运行阶段不会访问 Hugging Face;后续增量部署会保留并复用已经上传的模型。
项目目录固定为 /opt/juyou_ai,systemd 服务名固定为 juyou_ai,API 内部端口固定为 8123。脚本仅保存域名和证书邮箱;再次执行会自动复用配置。多个域名会全部作为 SAN 追加到同一张证书。脚本只复用输入域名对应的现有证书,不会扫描其他项目的证书;没有匹配证书但填写邮箱时使用本地 API/acme/acme.sh 申请 HTTPS,域名填 _ 或未填写邮箱时使用 HTTP。systemd 从 /etc/juyou_ai/juyou_ai.env 加载环境变量,项目目录不会保留 .env。
API、AI Worker 和 HTTP 请求日志统一写入 /var/log/juyou_ai/juyou_ai.log。日志每天轮转,最多保留 14 份,单个文件超过 50MB 时会提前轮转;可使用 sudo tail -f /var/log/juyou_ai/juyou_ai.log 实时查看。
完整操作说明参见 部署文档.md。
第三方接口、网址和密钥字段说明参见 第三方说明及密钥.md。
更新 acme.sh
sudo bash /opt/juyou_ai/deploy/update_acme.sh
更新脚本通过 jsDelivr CDN 下载 acmesh-official/acme.sh 的最新 master 单文件版本,不执行 GitHub clone。