Files
auto_cursor/DEPLOYMENT_README.md
huangzhenpc 4bea0d3aa8 sss
2025-04-19 11:39:06 +08:00

6.0 KiB
Raw Blame History

Cursor自动化服务部署指南

本文档详细说明如何在新服务器上从零开始部署Cursor自动化服务包括环境准备、数据库配置、服务启动等各个步骤。

系统要求

  • 操作系统: Linux (推荐Ubuntu/Debian)也支持Windows和macOS
  • Python版本: 3.7+
  • 数据库: MySQL 5.7+ 或 MariaDB 10+
  • 缓存系统: Redis 5+ (可选但推荐)
  • 内存: 至少2GB RAM
  • 存储: 至少1GB可用空间
  • 网络: 稳定的互联网连接

部署流程概述

  1. 安装必要的系统依赖
  2. 准备Python环境
  3. 下载代码并安装依赖
  4. 配置和初始化数据库
  5. 导入邮箱账号
  6. 启动服务
  7. 设置为系统服务(可选)

详细部署步骤

1. 安装必要的系统依赖

Ubuntu/Debian系统:

# 更新系统包
sudo apt update

# 安装Python、MySQL和Redis
sudo apt install -y python3 python3-venv python3-full mysql-server redis-server

# 安装pip和开发库
sudo apt install -y python3-pip python3-dev default-libmysqlclient-dev build-essential

CentOS/RHEL系统:

# 安装Python
sudo yum install -y python3 python3-devel

# 安装MySQL
sudo yum install -y mariadb-server mariadb-devel

# 安装Redis
sudo yum install -y redis

# 启动服务
sudo systemctl start mariadb
sudo systemctl start redis
sudo systemctl enable mariadb
sudo systemctl enable redis

2. 准备Python环境

# 创建项目目录
mkdir -p /opt/cursor-service
cd /opt/cursor-service

sudo apt install python3-venv python3-full
# 创建并激活虚拟环境
python3 -m venv venv
source venv/bin/activate

3. 下载代码并安装依赖

# 下载代码(示例使用git也可以直接上传文件)
git clone https://your-repo-url.git .
# 或者直接解压上传的zip文件

# 安装依赖
pip install -r requirements.txt
pip install cryptography  # 确保安装cryptography包

4. 配置和初始化数据库

我们提供了两种初始化数据库的方式:

方式一:使用交互式设置向导(推荐)

# 修复可能的MySQL格式化问题
python fix_setup.py

# 运行设置向导
python setup_environment.py

设置向导将引导您完成:

  • 配置服务器标识
  • 设置MySQL数据库连接信息
  • 配置Redis(可选)
  • 创建数据库和表结构

方式二:手动执行初始化脚本

# 直接运行数据库初始化脚本
python init_database.py

脚本会交互式地询问:

  • MySQL root用户名和密码
  • 应用数据库名和用户信息
  • Redis配置(可选)

5. 导入邮箱账号

# 准备email.txt文件格式为
# email@example.com----密码----client_id----refresh_token

# 运行导入脚本
python import_emails.py

6. 启动服务

有多种方式可以启动服务:

方式一:使用统一管理脚本(推荐)

# 启用并启动服务
python start.py --enable

# 或者直接启动(会根据数据库中的启用状态决定是否启动服务)
python start.py

方式二:直接启动自动服务

# 直接启动自动化服务
python auto_cursor_service.py

方式三:仅运行注册进程

# 仅启动注册进程
python main.py

7. 设置为系统服务(可选但推荐)

创建系统服务文件:

sudo nano /etc/systemd/system/cursor-service.service

添加以下内容:

[Unit]
Description=Cursor Auto Registration Service
After=network.target mysql.service redis.service

[Service]
Type=simple
User=your_username
WorkingDirectory=/opt/cursor-service
ExecStart=/opt/cursor-service/venv/bin/python start.py
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

启动并设置开机自启:

sudo systemctl daemon-reload
sudo systemctl start cursor-service
sudo systemctl enable cursor-service

管理服务

检查服务状态

# 查看服务状态
python start.py --status

# 如果设置为系统服务,可以使用
sudo systemctl status cursor-service

启用/禁用服务

# 启用服务
python start.py --enable

# 禁用服务
python start.py --disable

手动上传账号

python start.py --upload

数据库升级

如果您从旧版本升级,需要运行数据库升级脚本:

python upgrade_database.py

这会添加新的extracted字段和相关索引,以支持账号上传功能。

监控与故障排除

日志文件

主要日志文件:

  • auto_cursor_service.log - 自动服务日志
  • upload_accounts.log - 账号上传日志
  • register.log - 注册进程日志

常见问题解决

  1. 数据库连接失败

    • 检查MySQL服务是否运行: sudo systemctl status mysql
    • 验证数据库用户名和密码是否正确
  2. Redis连接失败

    • 检查Redis服务是否运行: sudo systemctl status redis
    • 如不需要Redis可在config.yaml中设置use_redis: false
  3. 服务无法启动

    • 检查日志文件中的具体错误信息
    • 确保所有依赖包都已安装: pip install -r requirements.txt
  4. 账号注册失败率高

    • 检查网络连接和代理设置
    • 查看注册日志中的具体错误信息
  5. 邮箱账号不足

    • 手动导入更多邮箱账号: python import_emails.py
    • 检查API获取邮箱是否正常

备份与维护

建议定期备份数据库:

# MySQL备份
mysqldump -u [用户名] -p [数据库名] > backup_$(date +%Y%m%d).sql

安全考虑

  1. 使用强密码保护数据库
  2. 限制MySQL和Redis只接受本地连接
  3. 保护config.yaml文件不要泄露API密钥和数据库密码
  4. 定期更新系统和依赖包

更新服务

更新服务代码后,请按以下步骤操作:

  1. 停止服务: python start.py --disablesudo systemctl stop cursor-service
  2. 更新代码
  3. 如有新的依赖,安装: pip install -r requirements.txt
  4. 如有数据库结构变更,运行升级脚本: python upgrade_database.py
  5. 重新启动服务: python start.py --enablesudo systemctl start cursor-service