爬虫监控系统demo-阿里云部署详解
2018-01-26 本文已影响0人
缘木求鱼的鱼
阿里云
- 优点:方便、弹性伸缩、减少运维成本(有没有被不靠谱运维坑过的经历...)
- 缺点:毕竟数据放在人家服务器上(阿里也不会偷窥你的数据,哈哈...),对于数据安全较高的公司不太适合.比如我的前公司,做征信,各种跳板机,堡垒机,数据当然要放在自建服务器上.
阿里云服务器搭建
- 百度一下,立马搞定
- 如果只是搭建个人服务器,试验自己的ideas建议使用阿里的学生优惠版(不是学生,已经毕业了? 弟弟妹妹上大学的借个学生证咯...) 传送门
爬虫监控系统demo简介
源码请参考github
demo体验 测试账号: marilyn@jayo.biz 密码:123456
- 技术栈:
- Flask 轻量级的python后端服务框架
- MySQL 数据库
- Scrapy 爬虫框架
- Reids 爬虫消息队列
- gentelella 前端框架
- 部署
-
采用gunicorn作为wsgi服务
-
supervisor监控gunicorn进程(挂掉自动拉起)
例如,supervisor配置文件:[program:ScrapyMonitorPlatform] command=/.../ENV/flask/bin/python /.../ENV/flask/bin/gunicorn -w 4 -b 127.0.0.1:5001 --worker-class=gevent --chdir /home/zhuangshui/flask/ wsgi:app_scrapy autostart=true autorestart=true startsecs=5 priority=1 stopasgroup=true killasgroup=true
-
command命令解释:
* /.../ENV/flask/bin/python -- python虚拟环境下的python解释器位置
* /.../ENV/flask/bin/gunicorn -- python虚拟环境下的gunicorn位置
* -w 4 -- 启了4个worker
* -b 127.0.0.1:5001 -- 绑定IP 127.0.0.1 端口5001,因此外网无法直接访问,需要 nginx反向代理转发一下
* --worker-class=gevent -- 按gevent 方式运行协程模式,提高并发处理能力
* --chdir /home/zhuangshui/flask/ -- 切换到工程目录
* wsgi:app_scrapy -- 运行wsgi.py文件中的app_scrapy
-