# ç¬è«ç®¡çç³»ç» - FEAPLAT > çè为è«ï¼ä¸æ¢äºè« **feaplat**å½åæºäº feapder ä¸ platform ç缩å 读é³ï¼ `[ËfiËplæt] `  ## ç¹æ§ 1. æ¯æä»»ä½pythonèæ¬ï¼å æ¬ä¸éäº`feapder`ã`scrapy` 2. æ¯ææµè§å¨æ¸²æï¼æ¯ææå¤´æ¨¡å¼ãæµè§å¨æ¯æ`playwright`ã`selenium` 3. æ¯æé¨ç½²æå¡ï¼å¯èªå¨è´è½½åè¡¡ 4. æ¯ææå¡å¨é群管ç 5. æ¯æçæ§ï¼çæ§å 容å¯èªå®ä¹ 6. æ¯æèµ·å¤ä¸ªå®ä¾ï¼å¦åå¸å¼ç¬è«åºæ¯ 7. æ¯æå¼¹æ§ä¼¸ç¼© 8. æ¯æ4ç§å®æ¶å¯å¨æ¹å¼ 9. æ¯æèªå®ä¹workeréåï¼å¦èªå®ä¹javaçè¿è¡ç¯å¢ãæºå¨å¦ä¹ ç¯å¢çï¼å³æ ¹æ®èªå·±çéæ±èªå®ä¹ï¼feaplatå为`master-è°åº¦ç«¯`å`worker-è¿è¡ä»»å¡ç«¯`ï¼ 10. dockerä¸é®é¨ç½²ï¼æ¶è®¾å¨docker swarméç¾¤ä¸ ## 为ä»ä¹ç¨feaplatç¬è«ç®¡çç³»ç» **å¸é¢ä¸çç¬è«ç®¡çç³»ç»**  workerèç¹å¸¸é©»ï¼ä¸è¿è¡å¤ä¸ªä»»å¡ï¼ä¸è½å¼¹æ§ä¼¸ç¼©ï¼ä»»å¡ä¹åä¼ç¸äºå½±åï¼ç¨³å®æ§å¾ä¸å°ä¿é **feaplatç¬è«ç®¡çç³»ç»**  workerèç¹æ ¹æ®ä»»å¡å¨æçæï¼ä¸ä¸ªworkeråªè¿è¡ä¸ä¸ªä»»å¡å®ä¾ï¼ä»»å¡åå®worker鿝ï¼ç¨³å®æ§é«ï¼å¤ä¸ªæå¡å¨é´èªå¨åè¡¡åé ï¼å¼¹æ§ä¼¸ç¼© ## åè½æ¦è§ ### 1. 项ç®ç®¡ç æ·»å /ç¼è¾é¡¹ç®  ### 2. ä»»å¡ç®¡ç  ### 3. ä»»å¡å®ä¾ æ¥å¿  ### 4. ç¬è«çæ§ feaplatæ¯æå¯¹feapderç¬è«çè¿è¡æ åµè¿è¡çæ§ï¼é¤äºæ°æ®çæ§å请æ±çæ§å¤ï¼ç¨æ·è¿å¯èªå®ä¹çæ§å 容ï¼è¯¦æ åè[èªå®ä¹çæ§](source_code/çæ§æç¹?id=èªå®ä¹çæ§) è¥scrapyç¬è«æå ¶ä»pythonèæ¬ä½¿ç¨çæ§åè½ï¼ä¹å¯éè¿èªå®ä¹çæ§çåè½æ¥æ¯æï¼è¯¦æ åè[èªå®ä¹çæ§](source_code/çæ§æç¹?id=èªå®ä¹çæ§) 注ï¼é feapder>=1.6.6  ## é¨ç½² > ä¸é¢é¨ç½²ä»¥centos为ä¾ï¼ å ¶ä»å¹³å°dockerå®è£ æ¹å¼å¯åèdocker宿¹ææ¡£ï¼https://docs.docker.com/compose/install/ ### 1. å®è£ docker å 餿§çæ¬ï¼å¯éï¼éè¦éè£ åçº§æ¶æ§è¡ï¼ ```shell yum remove docker docker-common docker-selinux docker-engine ``` å®è£ ï¼ ```shell yum install -y yum-utils device-mapper-persistent-data lvm2 && python2 /usr/bin/yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo && yum install docker-ce -y ``` å½å ç¨æ·æ¨èä½¿ç¨ ```shell yum install -y yum-utils device-mapper-persistent-data lvm2 && python2 /usr/bin/yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo && yum install docker-ce -y ``` å¯å¨ ```shell systemctl enable docker systemctl start docker ``` ### 2. å®è£ docker swarm docker swarm init # å¦æä½ ç Docker ä¸»æºæå¤ä¸ªç½å¡ï¼æ¥æå¤ä¸ª IPï¼å¿ é¡»ä½¿ç¨ --advertise-addr æå® IP docker swarm init --advertise-addr 192.168.99.100 ### 3. å®è£ docker-compose ```shell sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose ``` å½å ç¨æ·æ¨èä½¿ç¨ ```shell sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose ``` ### 4. é¨ç½²feaplatç¬è«ç®¡çç³»ç» #### é¢å¤é¡¹ å®è£ git(1.8.3ççæ¬å·²å¤ç¨) ```shell yum -y install git ``` #### 1. ä¸è½½é¡¹ç® gitub ```shell git clone https://github.com/Boris-code/feaplat.git ``` gitee ```shell git clone https://gitee.com/Boris-code/feaplat.git ``` #### 2. è¿è¡ 馿¬¡è¿è¡éæåéåï¼æ¶é´æ¯è¾ä¹ ï¼ä¸è¿è¡å¯è½ä¼æ¥éï¼å次è¿è¡ä¸å°±å¥½äº ```shell cd feaplat docker-compose up -d ``` - è¥ç«¯å£å²çªï¼å¯ä¿®æ¹.envæä»¶ï¼åè[常è§é®é¢](feapder_platform/question?id=ä¿®æ¹ç«¯å£) #### 3. 访é®ç¬è«ç®¡çç³»ç» é»è®¤å°åï¼`http://localhost` é»è®¤è´¦å¯ï¼admin / admin - è¥æªæåï¼åè[常è§é®é¢](feapder_platform/question) - 使ç¨è¯´æï¼åè[使ç¨è¯´æ](feapder_platform/usage) #### 4. 忢ï¼å¯éï¼ ```shell docker-compose stop ``` ### 5. æ·»å æå¡å¨ï¼å¯éï¼ > ç¨äºæå»ºéç¾¤ï¼æ©å±ç¬è«ï¼workerï¼èç¹æå¡å¨ #### 1. å®è£ docker åèé¨ç½²æ¥éª¤1 #### 2. é¨ç½² å¨masteræå¡å¨ï¼feaplatç¬è«ç®¡çç³»ç»æå¨æå¡å¨ï¼æ§è¡ä¸é¢å½ä»¤ï¼æ¥çtoken ```shell docker swarm join-token worker ``` **å¨éæ©å çæå¡å¨ä¸æ§è¡** ```shell docker swarm join --token [token] [ip] ``` è¿æ¡å½ä»¤ç¨äºå°è¯¥å°æå¡å¨å å ¥é群èç¹ #### 3. éªè¯æ¯å¦æå å¨masteræå¡å¨ï¼feaplatç¬è«ç®¡çç³»ç»æå¨æå¡å¨ï¼æ§è¡ä¸é¢å½ä»¤ ```shell docker node ls ``` è¥æå°ç»æå å«åå å ¥çæå¡å¨ï¼åæ·»å æå¡å¨æå #### 4. ä¸çº¿æå¡å¨ï¼å¯éï¼ å¨éè¦ä¸çº¿çæå¡å¨ä¸æ§è¡ ```shell docker swarm leave ``` ## æåç§æé¡¹ç® æåç§æé¡¹ç®éå¨gitä»åºéæ·»å å¦ä¸å ¬é¥ ``` ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCd/k/tjbcMislEunjtYQNXxz5tgEDc/fSvuLHBNUX4PtfmMQ07TuUX2XJIIzLRPaqv3nsMn3+QZrV0xQd545FG1Cq83JJB98ATTW7k5Q0eaWXkvThdFeG5+n85KeVV2W4BpdHHNZ5h9RxBUmVZPpAZacdC6OUSBYTyCblPfX9DvjOk+KfwAZVwpJSkv4YduwoR3DNfXrmK5P+wrYW9z/VHUf0hcfWEnsrrHktCKgohZn9Fe8uS3B5wTNd9GgVrLGRk85ag+CChoqg80DjgFt/IhzMCArqwLyMn7rGG4Iu2Ie0TcdMc0TlRxoBhqrfKkN83cfQ3gDf41tZwp67uM9ZN [email protected] ``` æå¨ç³»ç»è®¾ç½®é¡µé¢é ç½®æ¨çSSHç§é¥ï¼ç¶åå¨gitä»åºéæ·»å æ¨çå ¬é¥ï¼ä¾å¦ï¼  注æï¼å ¬ç§é¥å 坿¹å¼ä¸ºRSAï¼å ¶ä»çå¯è½ä¼æé®é¢ çæRSAå ¬ç§é¥æ¹å¼å¦ä¸ï¼ ```shell ssh-keygen -t rsa -C "夿³¨" -f çæè·¯å¾/æä»¶å ``` å¦ï¼ `ssh-keygen -t rsa -C "feaplat" -f id_rsa` ç¶åä¸è·¯å车ï¼ä¸è¦è¾å¯ç  æç»çæ `id_rsa`ã`id_rsa.pub` æä»¶ï¼å¤å¶`id_rsa.pub`æä»¶å 容å°gitä»åºï¼å¤å¶`id_rsa`æä»¶å 容å°feaplatç¬è«ç®¡çç³»ç» ## èªå®ä¹ç¬è«éå é»è®¤çç¬è«éååªæå äº`feapder`ã`scrapy`æ¡æ¶ï¼è¥éè¦å ¶å®ç¯å¢ï¼å¯åºäº`.env`æä»¶éç`SPIDER_IMAGE`éåèªè¡æå»º å¦å°å¸¸ç¨çpythonåºæå å°éå ``` FROM registry.cn-hangzhou.aliyuncs.com/feapderd/feapder:[ææ°çæ¬å·] # å®è£ ä¾èµ RUN pip3 install feapder \ && pip3 install scrapy ``` èªå·±é便æäºæ ï¼æå®ä¿®æ¹ä¸ `.env`æä»¶éç SPIDER_IMAGE çå¼å³å¯ ## ä»·æ ¼ | ç±»å | ä»·æ ¼ | 说æ | |------|-----|-------------------------------| | å è´¹ç | 0å | å¯é¨ç½²2ä¸ªä»»å¡ | | ç»å®ç | 188å | åä¸å ¬ç½IPææºå¨ç 䏿°¸ä¹ ä½¿ç¨ | | éç»å®ç | 288å | æ°¸ä¹ ä½¿ç¨ | **ææçæ¬åè½ä¸è´ï¼åå¯å è´¹æ´æ°ï¼æ°¸ä¹ 使ç¨** è´ä¹°æ¹å¼ï¼æ·»å 微信 `boris_tm` éçåè½çå®åï¼ä»·æ ¼ä¼éæ¥è°æ´ ## å¦ä¹ 交æµ
| ç¥è¯æçï¼17321694 | ä½è å¾®ä¿¡ï¼ boris_tm | QQ群å·ï¼750614606 |
|
|
|