分布式:多台服务器处理一个任务
分布式爬虫
使用Celery + RabbitMQ 实现,而且 RabbitMQ 是基于Erlang 安装的
一、安装erlang rabbitmq
(1)windows下安装
1、先安装erlang otp_win64_21.1 直接默认路径,不要更改路径,一直next就行
再安装rabbitmq
安装完之后,在管理员权限运行cmd,执行下面这两条命令
"C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.8\sbin\rabbitmq-plugins.bat" enable rabbitmq_management
net stop RabbitMQ && net start RabbitMQ
报错的话下面这样安装
2、在浏览器地址栏下输入
默认的用户名guest 密码: guest 只适用本机登录
远程操作:需重新创建密码
3、也可创建用户、修改密码
或者使用命令:
查看当前的用户:
rabbitmqctl.bat list_users
新增一个用户:
rabbitmqctl.bat add_user username password
此时来看下我们当前用户:
我们也给 eric 变成 “超级管理员” 角色:
rabbitmqctl.bat set_user_tags username administrator
现在总觉得guest 这个不安全(它的默认密码是guest),想更改密码,好办:
rabbitmqctl change_password userName newPassword
新增了administrator用户了,不想要guest用户了,可以:删掉
rabbitmqctl.bat delete_user username
(2)Linux 下安装
1、sudo apt-get update
2、sudo apt-get install rabbitmq-server
3、sudo rabbitmq-plugins enable rabbitmq_management
4、远程操作,需添加新用户和修改密码,不修改用guest 可能登录不上
查看当前用户:
sudo rabbitmqctl list_users
添加用户:
sudo rabbitmqctl add_user username password
修改成超级管理员模式:
sudo rabbitmqctl set_user_tags username administrator
修改密码:
sudo rabbitmqctl change_password userName newPassword
登录:
(3)大概使用方法:
创建虚拟路径
创建users
如果用户名已有,可以点击进去,设置虚拟路径
点击名字进入,可指定虚拟路由,在代码中config中会用到
二、Celery
Windows下安装 pip3 install celery
查询celery使用,中文文档 http://docs.jinkan.org/docs/celery/
英文文档 http://docs.celeryproject.org/en/latest/index.html
Linux下安装Celery:
1、利用xftp把文件上传到linux上了,并且在root下执行的都放到Home文件下了,
我的文件名叫做py1807
先上传到桌面上 py1807 --p1026 再把文件py1807 拖到Home下,要不报错
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ celery
再接着安装:
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ eventlet