宝塔下安装 feaplat 教程
- feaplat 命名源于 feapder 与 platform 的缩写,读音:
[ˈfiːplæt]
- feaplat 是一个爬虫管理平台,支持任何 python 脚本,包括不限于
feapder
、scrapy
- feaplat 支持浏览器渲染,支持有头模式。浏览器支持
playwright
、selenium
- 支持任何 python 脚本,包括不限于
feapder
、scrapy
- 支持浏览器渲染,支持有头模式。浏览器支持
playwright
、selenium
- 支持部署服务,可自动负载均衡
- 支持服务器集群管理
- 支持监控,监控内容可自定义
- 支持起多个实例,如分布式爬虫场景
- 支持弹性伸缩
- 支持 4 种定时启动方式
- 支持自定义 worker 镜像,如自定义 java 的运行环境、机器学习环境等,即根据自己的需求自定义(feaplat 分为
master-调度端
和worker-运行任务端
) - docker 一键部署,架设在 docker swarm 集群上
市面上的爬虫管理系统
worker 节点常驻,且运行多个任务,不能弹性伸缩,任务之前会相互影响,稳定性得不到保障
feaplat 爬虫管理系统
worker 节点根据任务动态生成,一个 worker 只运行一个任务实例,任务做完 worker 销毁,稳定性高;多个服务器间自动均衡分配,弹性伸缩
- 安装宝塔
- 在服务器的安全组或防火墙中放行需要使用的端口,如:8090、8091(端口可以自定义)
- 在宝塔的 安全 中放行需要使用的端口,如:8090、8091(端口可以自定义)
安装 Docker
在宝塔中的 软件商店 里安装 Docker 管理器 即可
配置 Docker 源
在宝塔中的 Docker 管理器 里找到 镜像管理,然后点击 镜像加速,最后将以下内容任选其一填入 加速地址 里保存即可!
1
2
3# 镜像加速
https://hub-mirror.c.163.com
https://mirror.baidubce.com安装 docker swarm
1
2
3
4docker swarm init
# 如果你的 Docker 主机有多个网卡,拥有多个 IP,必须使用 --advertise-addr 指定 IP
docker swarm init --advertise-addr 192.168.99.100安装 Docker-Compose
1
pip install docker-compose
在安装了 pip 的情况下 (Python 3),执行上述命令即可。
安装 Git
- CentOS
1
yum install git
- Ubuntu
1
apt install git
- CentOS
克隆项目
- GitHub
1
git clone https://github.com/Boris-code/feaplat.git
- Gitee
1
git clone https://gitee.com/Boris-code/feaplat.git
- GitHub
修改默认端口号
- 默认端口号
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20# 前端端口
FRONT_PORT=80
# 后端端口
BACKEND_PORT=8000
# MYSQL端口
MYSQL_PORT=33306
# REDIS 端口
REDIS_PORT=6379
# 后端worker数
BACKEND_WORKER=1
# 前端镜像
FRONT_IMAGE=registry.cn-hangzhou.aliyuncs.com/feapderd/feapder_front:2.0
# 后端镜像
BACKEND_IMAGE=registry.cn-hangzhou.aliyuncs.com/feapderd/feapder_backend:3.1
# 爬虫镜像
SPIDER_IMAGE=registry.cn-hangzhou.aliyuncs.com/feapderd/feapder:2.1
# 监控系统端口配置
INFLUXDB_PORT_TCP=8086
INFLUXDB_PORT_UDP=8089
GRAFANA_PORT=3001 - 修改默认端口号
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20# 前端端口
FRONT_PORT=8090
# 后端端口
BACKEND_PORT=8091
# MYSQL端口
MYSQL_PORT=33306
# REDIS 端口
REDIS_PORT=6379
# 后端worker数
BACKEND_WORKER=1
# 前端镜像
FRONT_IMAGE=registry.cn-hangzhou.aliyuncs.com/feapderd/feapder_front:2.0
# 后端镜像
BACKEND_IMAGE=registry.cn-hangzhou.aliyuncs.com/feapderd/feapder_backend:3.1
# 爬虫镜像
SPIDER_IMAGE=registry.cn-hangzhou.aliyuncs.com/feapderd/feapder:2.1
# 监控系统端口配置
INFLUXDB_PORT_TCP=8086
INFLUXDB_PORT_UDP=8089
GRAFANA_PORT=3001修改克隆项目中的
.env
文件,默认的前端端口和后端端口不太合适,在 docker 映射后会和 Nginx、Django 等冲突,建议修改,至于具体修改成多少可以自行定义,但是请尽量避开常用的一些端口!
- 默认端口号
运行项目
1
2cd feaplat
docker-compose up -d若端口冲突,可修改
.env
文件,参考常见问题访问爬虫管理系统
常用命令
1 | # 停止容器 |
- 对于占用存储空间来说,Crawlab 占用存储空间更小,feaplat 需要安装的镜像太多太大,占用存储空间也就更大,对于低配服务器不太友好。
- 对于功能来说,Crawlab 的功能相对更全面,其中有很多 feaplat 没有却很实用的功能,集成度更高,更适合作为一个高可用性的爬虫管理平台。
- 对于稳定性,Crawlab v5.x 会偶尔弹出类似
您的网络发生异常,无法连接服务器
这样的弹窗,但是实际上不影响使用,而 feaplat 相对更稳定,没有类似的弹窗。 - feaplat 自带 Python 版本比较低 (<python3.8.x),如果使用比较高 Python 版本 (>=Python3.8.x) 的一些新语法 (如:海象表达式) 的时候会报错,Crawlab 自带的 Python 版本比较高所以不会出现这个问题。