宝塔下安装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版本比较高所以不会出现这个问题。