
Deployment Guide
藏文OCR识别系统
宝塔面板部署教程 — 从零开始搭建您的藏文文字识别平台
概述
系统简介与部署目标
本文档详细介绍了如何在宝塔(BT.cn)Linux 面板上部署藏文 OCR 识别系统。该系统集成了本地 BDRC OCR 服务和远程 LLM 识别模型,为用户提供灵活、高效的藏文识别解决方案。
部署过程涵盖了环境准备、文件上传、依赖安装、服务配置和启动等关键步骤。整个过程大约需要 30-60 分钟,具体取决于您的服务器性能和网络状况。
本地OCR识别
基于 BDRC ONNX 模型的本地识别服务,支持德格丹珠尔等经典文献,无需联网即可使用。每日 100 次免费配额。
远程LLM识别
支持 Gemini、GPT-4 等多种大语言模型,适用于木刻版和手写体藏文识别。管理员可动态切换模型。

环境要求
部署前请确认您的服务器满足以下条件
在开始部署之前,请确保您的服务器已安装宝塔面板,并满足以下软件和版本要求:
| 软件 | 推荐版本 | 备注 |
|---|---|---|
| 操作系统 | CentOS 7.x / Ubuntu 20.04+ / Debian 10+ | 64位操作系统 |
| Nginx | 1.20+ | 用于反向代理 |
| MySQL | 5.7+ / 8.0+ | 数据库存储 |
| PM2管理器 | 5.0+ | Node.js应用进程管理 |
| Node.js | 18.x / 20.x | Web应用运行环境 |
| Python | 3.8+ | 本地OCR服务运行环境 |
| pip | 20.0+ | Python包管理器 |
建议

部署步骤
按照以下步骤完成系统部署
准备工作
创建网站
- •登录宝塔面板,进入「网站」菜单。
- •点击「添加站点」,输入您的域名(例如
ocr.yourdomain.com),PHP版本选择「纯静态」。 - •记录下网站的根目录,通常是
/www/wwwroot/ocr.yourdomain.com。
创建数据库
- •进入「数据库」菜单,点击「添加数据库」。
- •输入数据库名(例如
tibetan_ocr)、用户名和密码。
注意
安装 Node.js 和 PM2
- •进入「软件商店」,搜索 "Node.js" 并安装(推荐 v18.18.0)。
- •搜索 "PM2管理器" 并安装。
上传并解压项目文件
上传压缩包
进入「文件」菜单,导航到您创建的网站根目录,将 tibetan-ocr-complete.tar.gz 压缩包上传到该目录。
解压文件
在宝塔文件管理器中,右键点击上传的压缩包,选择「解压」。解压后,将 tibetan-ocr-merged 文件夹内的所有内容移动到网站根目录。
配置环境变量
创建 .env 文件
在网站根目录中,找到 env-template.txt 文件,复制并重命名为 .env。
编辑 .env 文件
双击打开 .env 文件,根据您的实际情况修改以下配置:
# 数据库配置 (必填)
DB_HOST=127.0.0.1
DB_PORT=3306
DB_USER=【您创建的数据库用户名】
DB_PASSWORD=【您创建的数据库密码】
DB_NAME=【您创建的数据库名】
# 网站URL (必填)
PUBLIC_URL=http://【您的域名】
# JWT密钥 (必填,用于用户认证,请修改为随机字符串)
JWT_SECRET=your-very-secret-and-long-jwt-key
# 远程LLM模型API Key (选填,如果需要使用远程模型)
OPENAI_API_KEY=sk-xxxxxxxx
OPENAI_BASE_URL=https://api.openai.com/v1
# 本地OCR服务地址 (保持默认)
LOCAL_OCR_SERVICE_URL=http://127.0.0.1:5001安装依赖
安装 Node.js 依赖
在宝塔面板的「终端」中,进入项目目录并安装依赖:
cd /www/wwwroot/【您的网站根目录】
pnpm install安装 Python 依赖
进入 ocr_service 目录并安装 Python 依赖:
cd ocr_service
pip install -r requirements.txt数据库迁移和构建
数据库迁移
回到项目根目录,执行数据库迁移命令,创建所需的表结构:
cd /www/wwwroot/【您的网站根目录】
npx drizzle-kit push --force构建项目
执行构建命令,编译前端和后端代码:
pnpm run build
启动服务
系统包含两个独立服务,使用 PM2 管理
系统包含两个需要独立运行的服务:本地 OCR 服务(Python)和 Web 应用(Node.js)。我们使用 PM2 来管理这两个进程。
启动本地 OCR 服务
在终端中,进入 ocr_service 目录,使用 PM2 启动 Python 服务:
pm2 start ocr_server.py --name ocr-service --interpreter python3启动 Web 应用
回到项目根目录,使用 PM2 启动 Node.js 应用(ecosystem.config.cjs 文件已为您配置好):
pm2 start ecosystem.config.cjs验证服务状态
执行以下命令,确认两个服务都处于 online 状态:
pm2 list完成
ocr-service 和 tibetan-ocr 两个服务都处于 online 状态。
配置反向代理
将公网请求转发到本地 Node.js 应用
最后一步是配置 Nginx 反向代理,将来自公网的请求转发到本地运行的 Node.js 应用(端口 3000)。
进入宝塔面板「网站」菜单,点击您站点的「设置」。
选择「反向代理」,点击「添加反向代理」。
按照以下参数配置反向代理:
| 参数 | 值 |
|---|---|
| 代理名称 | 自定义,例如 ocr-proxy |
| 目标URL | http://127.0.0.1:3000 |
| 发送域名 | $host |
保存并启用代理。
完成

首次登录和配置
使用管理员账号登录并配置系统
模型配置
登录后,进入「管理后台」→「模型管理」,检查并配置您自己的远程 LLM API Key 和 Base URL。系统支持以下模型提供商:

祝您使用愉快!
藏文OCR识别系统 · 部署指南 · 2026年3月