gerapy+scrapyd管理发布scrapy项目

gerapy是一个前端项目,集打包,发布,管理,监控于一身的工具。

1.安装gerapy:

pip install gerapy

输入gerapy进行验证是否安装成功

2.安装完成后执行初始化:

gerapy init

会生成gerapy目录,进入目录会看到一个projects目录。

3.初始化数据,生成一个sqlite数据库文件

gerapy migrate

4.运行服务默认是8000端口,自己可以定义端口

gerapy runserver 192.168.0.248:8080

5.在远程服务端开启scarpyd服务,在clients中配置scrapyd 远程服务

scrapyd远程服务配置

6.把scrapy项目拷贝到projects目录中,如果是压缩文件,必须解压

7.在Projects中会显示自己放入的项目,对项目进行打包和发布

打包和发布项目到远程服务器

这样项目部署成功了,可以用gerapy去管理了。

8.可以在线对代码进行编辑,重新编译部署

编辑代码

编辑代码2
遇到了问题:
  1. 由于脚本中使用了selenium,使用linux的定时任务执行的脚本每次运行完毕scrapyd都一直为运行状态,也无法取消任务;
  2. 运行状态的任务数超过8时,以后的脚本都是挂起状态。
    为了解决这个问题,写了一个发布脚本,用linux的定时任务每周定时运行:
#!/bin/sh
# 获取json字符串中对应的键值对
function parse(){
    echo "${1//\"/}" | sed "s/.*$2:\([^,}]*\).*/\1/" | sed 's/^[ \t]*//g'
}
echo '关闭grapy服务'
#关闭grapy
pid=`ps -ef|grep gerapy|grep -v grep|awk '{print $2}'`
if [ "$pid" = "" ] ; then
    echo "gerapy is shutdown now!"
else
    kill -9 $pid
fi
sleep 3
echo '关闭scrapyd服务'
#关闭scrapyd服务
pid=`ps -ef|grep scrapyd|grep -v grep|awk '{print $2}'`
if [ "$pid" = "" ] ; then
    echo "scrapyd is shutdown now!"
else
    kill -9 $pid
fi
sleep 3
echo '删除数据库文件'
#删除数据库文件
rm -rf /app/services/gerapy/db.sqlite3
sleep 1
echo '初始化gerapy数据库'
#初始化数据库
cd /app/services/gerapy
gerapy migrate
sleep 1
echo '启动gerapy服务'
#重启gerapy服务
nohup gerapy runserver 192.168.0.248:8383 > /dev/null 2>&1 &
sleep 1
echo '删除以前的残留文件'
#删除目录
rm -rf /app/services/scrapyd
#新建目录
cd /app/services
mkdir scrapyd
sleep 1
echo '启动scrapyd服务'
#重新启动scrapyd服务
cd scrapyd/
nohup scrapyd > /dev/null 2>&1 &
sleep 2
#gerapy中添加client
curl 'http://192.168.0.248:8383/api/client/1/status'
sleep 2
curl -H 'Content-Type: application/json' --data-binary '{"name":"平安公网项目","ip":"192.168.0.248","port":"6800","description":"","auth":false,"username":"","password":""}' --compressed 'http://192.168.0.248:8383/api/client/create'
sleep 2
#发布项目
resp=`curl 'http://192.168.0.248:8383/api/project/bankproduct/build'`
built_at=$(parse $resp "built_at")
egg=$(parse $resp "egg")
#1.打包
sleep 2
curl -H 'Content-Type: application/json' -H 'Accept-Language: zh-CN,zh;q=0.9' --data-binary '{"description":"银行理财项目爬取","egg": "'$egg'","built_at":"'$built_at'"}' --compressed 'http://192.168.0.248:8383/api/project/bankproduct/build'
sleep 2
#2.发布
curl --data-binary "" --compressed 'http://192.168.0.248:8383/api/client/1/project/bankproduct/deploy'
sleep 2
curl 'http://192.168.0.248:8383/api/client/1/project/bankproduct/version'
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,319评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,801评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,567评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,156评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,019评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,090评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,500评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,192评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,474评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,566评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,338评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,212评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,572评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,890评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,169评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,478评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,661评论 2 335