Scrapyd安装部署

Scrapyd安装部署:

  在向服务器部署爬虫时,我们需要下载2个模块

  a、scrapyd(安装在服务端,运行服务)

  b、scrapy-client(安装在客户端,用于将自己的爬虫部署到服务器上)

 

 

stept1 :

yum install firewalld
systemctl start firewalld

firewall-cmd --zone=public --add-port=1024-65535/udp --permanent
firewall-cmd --zone=public --add-port=1024-65535/tcp --permanent
firewall-cmd --reload

pip3 install --upgrade pip

pip install scrapyd

cd /usr/local/python3/lib/python3.6/site-packages/scrapyd

vim default_scrapyd.conf 

step2:

在site-packages 下的scrapyd文件里面 vim default_scrapyd.conf

bind_address默认值127.0.0.1,改为0.0.0.0  从而允许多地址访问

 

 

step3:

编写scrapyd后台启动脚本

方法一:
命令来后台开启服务,这样关闭窗口后仍能进行连接

setsid scrapyd
ps -ef | grep -i scrapyd     #关闭的方法
kill -9 PID


 

方法二:
创建后台启动脚本

cd /etc/init.d   目录下面,
vim scrapyd    粘贴下面代码
HOME路径是要新建的,用来存日志;BIN=路径是scrapyd的运行路径一般在python的bin目录下)
 


#!/bin/bash
PORT=6800
HOME="/var/scrapyd"   
BIN="/usr/local/python3/bin/scrapyd"
 
pid=`netstat -lnopt | grep :$PORT | awk '/python/{gsub(/\/python/,"",$7);print $7;}'`
start() {
   if [ -n "$pid" ]; then
      echo "server already start,pid:$pid"
      return 0
   fi
 
   cd $HOME
   nohup $BIN >> $HOME/scrapyd.log 2>&1 &
   echo "start at port:$PORT"
}
 
stop() {
   if [ -z "$pid" ]; then
      echo "not find program on port:$PORT"
      return 0
   fi
 
   #结束程序,使用讯号2,如果不行可以尝试讯号9强制结束
   kill -9 $pid
   echo "kill program use signal 9,pid:$pid"
}
 
status() {
   if [ -z "$pid" ]; then
      echo "not find program on port:$PORT"
   else
      echo "program is running,pid:$pid"
   fi
}
 
case $1 in
   start)
      start
   ;;
   stop)
      stop
   ;;
   status)
      status
   ;;
   *)
      echo "Usage: {start|stop|status}"
   ;;
esac
 
exit 0


粘贴完在/etc/init.d 目录下执行以下命令赋予可执行权限:

chmod u+x scrapyd

 

创建HOME 目录

cd /var/
mkdir scrapyd 

 

开启服务

service scrapyd start

查看状态

service scrapyd status

关闭服务

service scrapyd stop

>>>netstat -an | grep 6800        #查看6800端口,发现已经启动监听

 

step4:

本地打开浏览器输入:   远程机器ip:6800    #发现scrapyd页面

 

step5:

打开scrapy项目根目录,修改文件scrapy.cfg

[deploy:vm1]  #vm1 为自定义的scrapyd中这个机器的名称
url = http://ip:6800/
project = maginfo  #项目名称
[deploy:vm2]
url = http://ip2:6800/
project = maginfo

step6:安装scrapyd-client

>>>pip install scrapyd-client==1.2.0a1    #2020年5月27号最新版本为此

安装好了之后来到scrapy项目根目录下

>>>scrapyd-deploy -l   #查看当前配置情况,会报个错,

于是乎进入到site-packages/scrapyd-client,双击scrapyd-deploy的exec文件(我系统为macOS)

会又报一个错deploy.py文件,打开该文件按照提示修改即可

 

step7:

上传项目到远程主机

例如将项目部署到IP为139.217.26.30的vm2主机

>>>scrapyd-deploy vm2

 

ps:

Scrapyd设置了访问限制,我们可以在配置文件中加入用户名和密码的配置,

同时修改端口成Nginx代理端口。如果Nginx代理端口使用的是6801,

那么这里就需要改成6801,修改如下:

[deploy:vm1]
url = http://ip1:6801/
project = weibo
username = admin
password = 123456
 
[deploy:vm2]
url = http://ip2:6801/
project = weibo
username = user2
password = 654321

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值