爬蟲-- 分散式 Erlang 、RabbitMQ 和Celery 的安裝
分散式:多臺伺服器處理一個任務
分散式爬蟲
使用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