资讯专栏INFORMATION COLUMN

CentOS7之Scrapy爬虫部署

elisa.yang / 785人阅读

摘要:安装配置文件内容如下守护进程,用这个的原因实在是因为太脆弱了,一看不住就挂了安装配置导入默认配置链接管理设置管理进程启动创建文件内容如下启动查看如一切正常常用命令查看状态重新载入重启任务可以更新配置检查日志爬虫部署部署项目目录

scrapyd 安装:
sudo pip install scrapyd
配置:
#文件~/.scrapyd.conf
#内容如下:
[scrapyd]
eggs_dir    = /home/sirius/scrapyd/eggs
logs_dir    = /home/sirius/scrapyd/logs
items_dir   = /home/sirius/scrapyd/items
jobs_to_keep = 5
dbs_dir     = /home/sirius/scrapyd/dbs
max_proc    = 0
max_proc_per_cpu = 4
finished_to_keep = 50
poll_interval = 5
bind_address = 0.0.0.0
http_port   = 6800
debug       = off
runner      = scrapyd.runner
application = scrapyd.app.application
launcher    = scrapyd.launcher.Launcher
webroot     = scrapyd.website.Root

[services]
schedule.json     = scrapyd.webservice.Schedule
cancel.json       = scrapyd.webservice.Cancel
addversion.json   = scrapyd.webservice.AddVersion
listprojects.json = scrapyd.webservice.ListProjects
listversions.json = scrapyd.webservice.ListVersions
listspiders.json  = scrapyd.webservice.ListSpiders
delproject.json   = scrapyd.webservice.DeleteProject
delversion.json   = scrapyd.webservice.DeleteVersion
listjobs.json     = scrapyd.webservice.ListJobs
#daemonstatus.json = scrapyd.webservice.DaemonStatus
supervisor

守护进程,用这个的原因实在是因为scrapyd太脆弱了,一看不住就挂了

安装:
sudo pip install supervisor
配置:
sudo mkdir -p /etc/supervisor/

#导入默认配置
sudo su - root -c "echo_supervisord_conf > /etc/supervisor/supervisord.conf"

#链接管理
[inet_http_server]         ; inet (TCP) server disabled by default
port=127.0.0.1:9001        ; (ip_address:port specifier, *:port for all iface)
;username=user              ; (default is no username (open server))
;password=123               ; (default is no password (open server))  

[supervisorctl]
;serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL  for a unix socket
serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
;username=chris              ; should be same as http_username if set
;password=123                ; should be same as http_password if set
;prompt=mysupervisor         ; cmd line prompt (default "supervisor")
;history_file=~/.sc_history  ; use readline history if available

#设置管理进程
[program:scrapyd]
command=scrapyd
autostart=true
autorestart=unexpected
启动
`创建文件/usr/lib/systemd/system/supervisord.service内容如下:

[Unit]                                                              
Description=supervisord - Supervisor process control system for UNIX
Documentation=http://supervisord.org                                
After=network.target                                                

[Service]                                                           
Type=forking                                                        
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf             
ExecReload=/usr/bin/supervisorctl reload                            
ExecStop=/usr/bin/supervisorctl shutdown                            
User=

[Install]                                                           
WantedBy=multi-user.target

#启动
sudo systemctl enable supervisord
sudo systemctl start supervisord

#查看
supervisorctl

#如一切正常
|>$ scrapyd   RUNNING   pid 8059, uptime 0:02:02
#常用命令
status #查看状态
reload #重新载入
restart scrapyd #重启任务
update #可以更新 supervisor 配置
tail -f scrapyd stderr #检查日志
爬虫部署: 部署:
cd <项目目录>
scrapyd-deploy
API控制:
curl http://localhost:6800/schedule.json -d project=myproject -d spider=somespider

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/45432.html

相关文章

  • CentOS7Scrapy爬虫部署

    摘要:安装配置文件内容如下守护进程,用这个的原因实在是因为太脆弱了,一看不住就挂了安装配置导入默认配置链接管理设置管理进程启动创建文件内容如下启动查看如一切正常常用命令查看状态重新载入重启任务可以更新配置检查日志爬虫部署部署项目目录 scrapyd 安装: sudo pip install scrapyd 配置: #文件~/.scrapyd.conf #内容如下: [scrapyd] egg...

    scq000 评论0 收藏0
  • 小程序开发(一):使用scrapy爬虫采集数据

    摘要:用途广泛,可以用于数据挖掘监测和自动化测试。运行下,发现数据全部存到了数据库中。提供了一些接口来查看项目爬虫情况,以及执行或者停止执行爬虫。完成小程序所需要的所有接口的开发,以及使用定时任务执行爬虫脚本。 过完年回来,业余时间一直在独立开发一个小程序。主要数据是8000+个视频和10000+篇文章,并且数据会每天自动更新。 我会整理下整个开发过程中遇到的问题和一些细节问题,因为内容会比...

    mrli2016 评论0 收藏0
  • Python爬虫用supervisor使scrapy在服务器后台运行

    摘要:折腾原因之前都是远程连接服务器,然后在命令行运行,一旦关闭远程连接,爬虫就会停止,很不爽,毕竟能让一个爬虫在服务器一直跑才是每个小白的梦想,所以开始研究如何使程序在后台运行,刚开始看了,感觉不好用,又搜了搜,发现了这个进程管理程序。 折腾原因 之前都是远程连接服务器,然后在命令行运行scrapy crawl spider,一旦关闭远程连接,爬虫就会停止,很不爽,毕竟能让一个爬虫在服务器...

    Turbo 评论0 收藏0
  • 部署Scrapy分布式爬虫项目

    摘要:以上示例代表当发现条或条以上的级别的时,自动停止当前任务,如果当前时间在邮件工作时间内,则同时发送通知邮件。 showImg(https://segmentfault.com/img/remote/1460000018052810); 一、需求分析 初级用户: 只有一台开发主机 能够通过 Scrapyd-client 打包和部署 Scrapy 爬虫项目,以及通过 Scrapyd JS...

    techstay 评论0 收藏0

发表评论

0条评论

elisa.yang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<