OpenClaw 是一个开源的分布式爬虫管理系统,单机使用模式适合个人开发者或小型项目,以下是单机部署和使用的详细步骤:

环境准备
系统要求
- 操作系统:Linux (Ubuntu/Debian/CentOS) 或 macOS
- Python:3.7+
- Node.js:14+(用于前端)
- Redis:5.0+
- MongoDB:4.0+
安装依赖
sudo apt install -y python3-pip nodejs npm redis-server mongodb # CentOS/RHEL sudo yum install -y python3-pip nodejs npm redis mongodb
快速部署
克隆项目
git clone https://github.com/crawlab-team/openclaw.git cd openclaw
后端部署
# 进入后端目录 cd backend # 创建虚拟环境(可选) python3 -m venv venv source venv/bin/activate # 安装依赖 pip install -r requirements.txt # 配置环境变量 cp .env.example .env # 编辑 .env 文件,修改数据库配置等 # 初始化数据库 python scripts/init_db.py # 启动后端服务 python app.py
前端部署
# 进入前端目录 cd ../frontend # 安装依赖 npm install # 构建生产版本 npm run build # 或启动开发服务器 npm run serve
Docker 单机部署(推荐)
使用 Docker Compose
# docker-compose.yml
version: '3.3'
services:
master:
image: crawlabteam/crawlab:latest
container_name: crawlab_master
environment:
CRAWLAB_SERVER_MASTER: "Y"
CRAWLAB_MONGO_HOST: "mongo"
CRAWLAB_REDIS_ADDRESS: "redis"
ports:
- "8080:8080"
depends_on:
- mongo
- redis
volumes:
- ./data:/data
mongo:
image: mongo:4.2
container_name: crawlab_mongo
restart: always
redis:
image: redis:5-alpine
container_name: crawlab_redis
restart: always
启动服务
# 启动所有服务 docker-compose up -d # 查看服务状态 docker-compose ps # 查看日志 docker-compose logs -f master
基本使用
访问管理界面
- 地址:
http://localhost:8080 - 默认账号:
admin - 默认密码:
admin
创建爬虫项目
- 点击左侧菜单栏的"爬虫"
- 点击"添加爬虫"
- 选择爬虫类型:
- 配置爬虫:基于配置文件
- 自定义爬虫:上传代码文件
- Git 爬虫:从 Git 仓库导入
配置爬虫示例
# example_spider.py
import scrapy
class ExampleSpider(scrapy.Spider):
name = 'example'
allowed_domains = ['example.com']
start_urls = ['http://example.com/']
def parse(self, response):
yield {
'title': response.css('h1::text').get(),
'url': response.url
}
任务调度
- 定时任务:在爬虫详情页设置 Cron 表达式
- 立即运行:点击"运行"按钮手动执行
- 查看任务状态:在"任务"页面监控执行情况
配置文件说明
后端配置 (.env)
# MongoDB 配置 MONGO_HOST=localhost MONGO_PORT=27017 MONGO_DB=openclaw # Redis 配置 REDIS_HOST=localhost REDIS_PORT=6379 REDIS_DB=1 # 服务器配置 SERVER_PORT=8000 SECRET_KEY=your-secret-key
爬虫配置文件 (spider_config.json)
{
"name": "example_spider",
"type": "custom",
"schedule": "0 0 * * *",
"settings": {
"CONCURRENT_REQUESTS": 16,
"DOWNLOAD_DELAY": 1
}
}
常见问题
端口冲突
# 修改端口号 # 后端:修改 .env 中的 SERVER_PORT # 前端:修改 package.json 或 vue.config.js # 或者停止占用端口的进程 sudo lsof -i :8080 sudo kill -9 <PID>
数据库连接失败
# 检查 MongoDB 服务 sudo systemctl status mongod # 检查 Redis 服务 sudo systemctl status redis
权限问题
# 确保有写入权限 sudo chown -R $USER:$USER ./data # 或使用 sudo 运行 sudo python app.py
高级功能
数据导出
- 支持 JSON、CSV、Excel 格式导出
- 可通过 API 接口获取数据
- 支持数据定时备份
监控告警
# 自定义告警脚本
def send_alert(spider_name, status):
# 发送邮件、钉钉、微信等通知
pass
插件扩展
- 开发自定义中间件
- 添加数据处理管道
- 集成第三方服务
维护建议
数据备份
# 备份 MongoDB mongodump --db openclaw --out ./backup/ # 备份 Redis redis-cli SAVE cp /var/lib/redis/dump.rdb ./backup/
日志查看
# 查看爬虫日志 tail -f logs/spiders/example_spider.log # 查看系统日志 journalctl -u openclaw -f
性能优化
- 调整并发数
- 设置合理的下载延迟
- 使用代理 IP 池
- 启用缓存机制
注意事项
- 单机限制:适合中小规模爬虫,大规模爬取建议分布式部署
- 资源监控:注意内存和 CPU 使用情况
- 遵守规则:设置 robots.txt 遵守和请求频率限制
- 数据安全:定期备份重要数据
是 OpenClaw 单机使用的基本指南,根据实际需求,可以进一步调整配置和扩展功能。
标签: Ubuntu Debian
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。