# ocr-extractor **Repository Path**: juht/ocr-extractor ## Basic Information - **Project Name**: ocr-extractor - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-14 - **Last Updated**: 2025-10-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #
OCR识别服务部署文档
# 一、部署前准备 ### 1.操作系统及配置要求 * 1台安装了linux 64位操作系统的服务器(物理机或虚拟机均可) * 服务器能够出公网 * 系统防火墙和SeLinux已关闭 ### 2.待部署的服务列表 ### 3.拉取代码 * 可以通过git拉取源码 ```shell git clone https://e.coding.net/g-mgcq1547/mam/ocr-extractor.git cd ocr-extractor ``` # 二、开始部署 ### 登录服务器 #### 步骤一 拉取镜像 ```shell docker pull paddle:2.6.2-gpu-cuda12.0-cudnn8.9-trt8.6-python3.12 docker run --gpus all --name ocrextractor -it -v $PWD:/ocr-extractor -p 5000:5000 paddle:2.6.2-gpu-cuda12.0-cudnn8.9-trt8.6-python3.12 /bin/bash docker exec -it ocrextractor /bin/bash cd /ocr-extractor ``` #### 步骤二 修改配置 确认python版本 ```shell python --version ``` 修改settings.ini,按注释说明进行修改 ``` [DEFAULT] Interface = 简体中文 Language = ch Mode = accurate [celery] broker = redis://192.168.10.198:6379/0 backend = db+mysql://root:123456@192.168.10.198/video_ocr ``` #### 步骤三 安装配置supervisor - vi /etc/supervisord.conf,写入以下内容: ``` [unix_http_server] file=/var/tmp/supervisor.sock ; the path to the socket file [supervisord] logfile=/opt/supervisord.log ; main log file; default $CWD/supervisord.log logfile_maxbytes=50MB ; max main logfile bytes b4 rotation; default 50MB logfile_backups=10 ; # of main logfile backups; 0 means none, default 10 loglevel=info ; log level; default info; others: debug,warn,trace pidfile=/opt/supervisord.pid ; supervisord pidfile; default supervisord.pid nodaemon=yes ; start in foreground if true; default false,容器前台启动,如果是虚机部署的话,改成false silent=false ; no logs to stdout if true; default false minfds=1024 ; min. avail startup file descriptors; default 1024 minprocs=200 ; min. avail process descriptors;default 200 [rpcinterface:supervisor] supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface [supervisorctl] serverurl=unix:///var/tmp/supervisor.sock ; use a unix:// URL for a unix socket [include] files = /etc/supervisord.d/*.ini ``` - 创建/etc/supervisord.d和/opt/supervisor/logs/目录 ```shell mkdir -p /etc/supervisord.d /opt/supervisor/logs/ ``` - 在/etc/supervisord.d目录下创建文件ocr-extractor.ini,写入以下内容 ``` [program:runserver] command=sh startweb.sh directory=/opt/ocr-extractor user=root autostart=true autorestart=true redirect_stderr=true startsecs=20 stdout_logfile=/opt/supervisor/logs/runserver.log loglevel=info logfile_maxbytes=100MB logfile_backups=3 [program:celery] command=python -m startwork directory=/opt/ocr-extractor user=root autorestart=true redirect_stderr=true startsecs=20 startretries=60 loglevel=info stopasgroup=true logfile_maxbytes=100MB logfile_backups=3 stdout_logfile=/opt/supervisor/logs/celery.log ``` #### 步骤三 启动服务 ```shell cd /ocr-extractor /usr/local/bin/supervisord -c /etc/supervisord.conf 查看服务是否已经运行 supervisorctl status ``` - 将supervisor做成服务 vim /usr/lib/systemd/system/supervisord.service,写入以下内容 ``` [Unit] # Unit区块: 启动顺序与依赖关系 Description=Supervisor daemon # 当前配置文件的描述信息 After=network.target # 当前服务在那个服务后面启动 一般定义为网络服务启动后启动 StartLimitIntervalSec=0 # 是服务自动无限次重启的必须配置1 [Service] # Service区块: 启动行为 Type=forking # 定义启动类型 ExecStart=/usr/local/bin/supervisord -c /etc/supervisord.conf # 启动进程时执行的命令: 填写命令行启动supervisor服务的命令 ExecStop=/usr/local/bin/supervisorctl $OPTIONS shutdown # 停止服务命令 ExecReload=/usr/local/bin/supervisorctl $OPTIONS reload # 重启服务命令 KillMode=process # 定义如何停止supervisord服务 Restart=on-failure # 何时重启 # 值:always是服务自动无限次重启的必须配置2 RestartSec=60s # 重启等待时间 # 是服务自动无限次重启的必须配置3 [Install] WantedBy=multi-user.target ``` - supervisord设置为开机自启动: ```shell systemctl enable supervisord.service systemctl start/restart/stop supervisor.service ``` ```shell curl http://localhost:5000 ``` - supervisord设置为开机自启动: ```shell systemctl enable supervisord.service systemctl start/restart/stop supervisor.service ```