Files
auto_cursor/DEPLOYMENT_README.md
2025-04-07 13:14:29 +08:00

284 lines
6.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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系统:
```bash
# 更新系统包
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系统:
```bash
# 安装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环境
```bash
# 创建项目目录
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. 下载代码并安装依赖
```bash
# 下载代码(示例使用git也可以直接上传文件)
git clone https://your-repo-url.git .
# 或者直接解压上传的zip文件
# 安装依赖
pip install -r requirements.txt
pip install cryptography # 确保安装cryptography包
```
### 4. 配置和初始化数据库
我们提供了两种初始化数据库的方式:
#### 方式一:使用交互式设置向导(推荐)
```bash
# 修复可能的MySQL格式化问题
python fix_setup.py
# 运行设置向导
python setup_environment.py
```
设置向导将引导您完成:
- 配置服务器标识
- 设置MySQL数据库连接信息
- 配置Redis(可选)
- 创建数据库和表结构
#### 方式二:手动执行初始化脚本
```bash
# 直接运行数据库初始化脚本
python init_database.py
```
脚本会交互式地询问:
- MySQL root用户名和密码
- 应用数据库名和用户信息
- Redis配置(可选)
### 5. 导入邮箱账号
```bash
# 准备email.txt文件格式为
# email@example.com----密码----client_id----refresh_token
# 运行导入脚本
python import_emails.py
```
### 6. 启动服务
有多种方式可以启动服务:
#### 方式一:使用统一管理脚本(推荐)
```bash
# 启用并启动服务
python start.py --enable
# 或者直接启动(会根据数据库中的启用状态决定是否启动服务)
python start.py
```
#### 方式二:直接启动自动服务
```bash
# 直接启动自动化服务
python auto_cursor_service.py
```
#### 方式三:仅运行注册进程
```bash
# 仅启动注册进程
python main.py
```
### 7. 设置为系统服务(可选但推荐)
#### 创建系统服务文件:
```bash
sudo nano /etc/systemd/system/cursor-service.service
```
添加以下内容:
```ini
[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
```
#### 启动并设置开机自启:
```bash
sudo systemctl daemon-reload
sudo systemctl start cursor-service
sudo systemctl enable cursor-service
```
## 管理服务
### 检查服务状态
```bash
# 查看服务状态
python start.py --status
# 如果设置为系统服务,可以使用
sudo systemctl status cursor-service
```
### 启用/禁用服务
```bash
# 启用服务
python start.py --enable
# 禁用服务
python start.py --disable
```
### 手动上传账号
```bash
python start.py --upload
```
## 数据库升级
如果您从旧版本升级,需要运行数据库升级脚本:
```bash
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获取邮箱是否正常
## 备份与维护
建议定期备份数据库:
```bash
# MySQL备份
mysqldump -u [用户名] -p [数据库名] > backup_$(date +%Y%m%d).sql
```
## 安全考虑
1. 使用强密码保护数据库
2. 限制MySQL和Redis只接受本地连接
3. 保护config.yaml文件不要泄露API密钥和数据库密码
4. 定期更新系统和依赖包
## 更新服务
更新服务代码后,请按以下步骤操作:
1. 停止服务: `python start.py --disable``sudo systemctl stop cursor-service`
2. 更新代码
3. 如有新的依赖,安装: `pip install -r requirements.txt`
4. 如有数据库结构变更,运行升级脚本: `python upgrade_database.py`
5. 重新启动服务: `python start.py --enable``sudo systemctl start cursor-service`