ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

如何生产级部署Jonex:GPU加速、HTTPS接入与安全加固检查清单(附常见故障排查)

如何生产级部署Jonex:GPU加速、HTTPS接入与安全加固检查清单(附常见故障排查) 【免费下载链接】jonexAll-in-One Multimodal Parsing Engine Ontology-Powered, LLM Wiki-Driven AI-Ready Knowledge Engine项目地址https://gitcode.com/gh_mirrors/jo/jonex点击查看免费下载Jonex 是一个一站式多模态解析引擎 本体驱动的 AI 知识引擎把文档、图片、音视频解析为可问答、可溯源的知识服务。本文带你用 Docker Compose 五步完成 Jonex 生产级部署覆盖 GPU 加速文档解析、HTTPS 域名接入、安全加固检查清单三大生产要点并附上常见故障排查手册适合运维人员与新手快速上手 。一、先理解 Jonex 的生产部署拓扑在生产模式下浏览器**只访问frontend-gatewayNginx80/443 端口**这一个入口静态资源Shell 壳应用 4 个子前端由 Nginx 聚合分发/api/**反向代理到 API Gateway → Sidecar → 各能力服务PostgreSQL、Redis、Milvus、Neo4j、MinIO 等中间件全部只在容器内网访问不映射任何宿主端口Jonex 的知识生产流水线如下理解它有助于判断哪些组件最需要资源如 GPU完整拓扑、网络设计与持久化卷设计可参考 deploy/DEPLOYMENT_ARCHITECTURE.md日常运维命令汇总在 deploy/README.md。二、生产部署五步走第 1 步克隆仓库并初始化配置git clone https://gitcode.com/gh_mirrors/jo/jonex cd jonex make initmake init会生成deploy/.env、deploy/.env.rag、deploy/.env.mcp及各前端.env后续只需改实际值。第 2 步编辑 deploy/.env对照 .env.example 模板生产环境必改项配置项说明ENV设为prodLLMGW_UPSTREAM_LLM_HOST/LLMGW_UPSTREAM_LLM_API_KEY上游 LLM 出口必填key 只配在网关LLMGW_UPSTREAM_EMBED_HOST/EMBEDDING_MODELEmbedding 出口⚠️ 必须与.env.rag中保持一致LIGHTRAG_API_KEY必须与.env.rag中的值一致DB_PASSWORD/NEO4J_PASSWORD/MILVUS_PASSWORD改掉所有change-me默认值第 3 步构建生产镜像make build-prod # 国内源构建腾讯云 pip/apt、npmmirror make build-prod USE_OVERSEAS_MIRRORtrue # 国外官方源首次构建会先打共享基础镜像jonex/python-base:local再用 buildx 并行构建 7 个后端镜像atomic-rag 镜像内含 MinerU、whisper 等模型约 3-4 GB耗时较长属正常现象。第 4 步启动并验证健康检查make up-prod make ps-prod生产模式只有 80/443 对外验证方式curl http://localhost/health # 返回 ok 即前端入口正常 docker exec jonex-gateway curl -s http://localhost:8000/health # 后端不进容器外验证 docker exec jonex-postgres pg_isready -U jonex # 数据库就绪检查 各服务健康检查start_period不同atomic-rag 为300s首次需解压模型、lightrag 60s、Milvus 90s——刚启动时个别容器显示 unhealthy 属正常耐心等待即可。第 5 步存量库执行增量迁移全新库无需此步容器首启自动执行postgres/migrations/全量脚本。已初始化的数据库迭代版本后须人工显式触发增量 DDLmake db-migrate-dry # 预览待应用迁移不执行 make db-migrate # 交互确认后执行迁移状态记录在public.schema_migrations版本表已应用文件自动跳过重复执行安全。三、可选启用 GPU 加速解析速度翻倍Jonex 的文档解析由atomic-rag服务承担MinerU VLM、whisper、PaddleX OCR。宿主机有 NVIDIA GPU 时叠加 docker-compose.gpu.yml 即可启用 CUDA前置条件已安装 NVIDIA 驱动与nvidia-container-toolkit。make build-gpu # 构建 GPU 镜像叠加 gpu.yml make up-gpu # 启动 GPU 部署 # 验证 GPU 是否生效 docker exec jonex-atomic-rag python -c import torch; print(torch.cuda.is_available())输出True即生效。实测效果MinerU 解析器自动切换 CUDA复杂文档解析显著提速atomic-rag CPU 内存占用从约 4G 降至约 2G显存占用约 6-8G建议 8GB 显存的显卡四、HTTPS 域名接入改一行配置即可Jonex 的 frontend-gateway 镜像内内置两份监听配置由启动脚本按ACCESS_MODE二选一生成见 frontend-gateway-mode.sh模式适用场景行为http默认内网 IP 直接访问监听 80无 TLShttps公网域名部署80 全部 301 跳转443 终止 TLSTLSv1.2/1.3 HTTP/2接入步骤将证书放入宿主机目录文件名固定只读挂载进容器fullchain.crt含中间证书完整链private.key修改deploy/.envACCESS_MODEhttps FRONTEND_HTTPS_PORT443 TLS_CERT_DIR/opt/jonex/certs # 宿主机证书目录须为仓库外路径重新创建容器关键environment是容器创建时固化的restart不生效make up-prodHTTPS 细节见 server-https.conf证书缺失时启动脚本会明确报错退出而非 nginx 晦涩的cannot load certificateHSTS 默认不启用与随时切回 http互斥确需启用建议从max-age300起步稳定后再调大浏览器侧 API 地址为相对路径/api/v1自动跟随 HTTPS前端零改动五、上线前安全加固检查清单逐项核对 .env.example 后再放流量密钥类DB_PASSWORD、NEO4J_PASSWORD、MILVUS_PASSWORD、MINIO_SECRET_KEY均已替换默认值JWT_SECRET换为强随机串JWT_EXPIRE_DAYS按团队要求调整GATEWAY_API_KEY、INTERNAL_API_KEY用openssl rand -hex 32重新生成Gateway 启动守卫会拒绝默认哨兵值LIGHTRAG_API_KEY在.env与.env.rag中一致且非默认值ENABLE_TEST_TOKENSfalse生产必须关闭测试 token 免验签DATA_SOURCE_SECRET_KEY已配置生产必填python -c from cryptography.fernet import Fernet;print(Fernet.generate_key().decode())生成AUTH_CORS_ORIGINS填白名单域名生产禁用*LLM key 只存在于 llm-gateway下游服务一律走内部 token对外仅开放 80/443PostgreSQL/Redis/Milvus/Neo4j 均未映射宿主端口前端安全头已内置CSPReport-Only、X-Frame-Options: SAMEORIGIN、X-Content-Type-Options: nosniff、Referrer-Policy见 app-locations.conf定期备份PostgreSQLpg_dump、RedisBGSAVE、Neo4jneo4j-admin database dump命令见 deploy/README.md六、常见故障排查手册故障现象排查与解决容器长时间 unhealthyatomic-rag 首次启动需解压模型300s、Milvus 90s属正常超时后执行make logs-service SERVICEname看日志服务起不来 / 反复重启make logs-service SERVICEx定位 →make restart-service SERVICEx→ 仍不行make recreate-service SERVICEx强制重建数据库连接失败make ps看 postgres 状态 →make logs-postgres→docker exec jonex-postgres pg_isready -U jonex升级镜像后模型没更新named volume 首启空卷复制语义停 atomic-rag 后执行docker volume rm project_jonex-rag-models再up -d从新镜像重新复制模型LLM 调用报错 / 无响应核对LLMGW_UPSTREAM_LLM_HOST与LLMGW_UPSTREAM_LLM_API_KEY生产用docker exec jonex-gateway curl -s http://llm-gateway:8787/health验证网关HTTPS 启动直接退出提示证书缺失检查TLS_CERT_DIR路径是否挂载成功、文件名必须为fullchain.crt/private.key上游 429 限流llm-gateway 已内置有界重试与退避LLMGW_UPSTREAM_RETRY_*可调持续限流请降低本体抽取并发ONTOLOGY_EXTRACT_CONCURRENCY解析/检索慢docker stats看资源占用make perf、make perf-ingest查看摄入链路各阶段耗时埋点 排查总原则先make ps-prod看哪个容器不健康再logs-service看日志绝大多数问题都能定位到单个服务。七、写在最后按本文流程走完你就获得了一个 GPU 加速、HTTPS 接入、密钥全部收敛的 Jonex 生产环境。后续迭代只需记住三件事镜像变更用make rebuild-service SERVICEx数据库变更先make db-migrate-dry预览切接入模式改ACCESS_MODE后必须重新make up-prod。祝部署顺利 ✨赞分享【免费下载链接】jonexAll-in-One Multimodal Parsing Engine Ontology-Powered, LLM Wiki-Driven AI-Ready Knowledge Engine项目地址https://gitcode.com/gh_mirrors/jo/jonex点击查看免费下载相关推荐GetQzonehistoryQQ空间历史说说本地备份 5 分钟实操指南Excel 与网页版双格式导出GetQzonehistoryQQ空间历史说说本地备份 5 分钟实操指南Excel 与网页版双格式导出 GetQzonehistory 是一款 QQ空间说网页爬虫数据分析Seastar生产部署终极清单硬件配置、网络调优与故障排查大全Seastar生产部署终极清单硬件配置、网络调优与故障排查大全 Seastar 是一个高性能服务端应用框架High performance server s后端异步编程网络Kubernetes应用安全加固检查清单指南Kubernetes应用安全加固检查清单指南 概述 在云原生时代Kubernetes已成为容器编排的事实标准但随之而来的安全挑战也日益严峻。你是否曾担心文档教程云原生创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进