摘要:折騰原因之前都是遠(yuǎn)程連接服務(wù)器,然后在命令行運(yùn)行,一旦關(guān)閉遠(yuǎn)程連接,爬蟲就會(huì)停止,很不爽,畢竟能讓一個(gè)爬蟲在服務(wù)器一直跑才是每個(gè)小白的夢(mèng)想,所以開始研究如何使程序在后臺(tái)運(yùn)行,剛開始看了,感覺不好用,又搜了搜,發(fā)現(xiàn)了這個(gè)進(jìn)程管理程序。
折騰原因
之前都是遠(yuǎn)程連接服務(wù)器,然后在命令行運(yùn)行scrapy crawl spider,一旦關(guān)閉遠(yuǎn)程連接,爬蟲就會(huì)停止,很不爽,畢竟能讓一個(gè)爬蟲在服務(wù)器一直跑才是每個(gè)小白的夢(mèng)想= =,所以開始研究如何使程序在后臺(tái)運(yùn)行,剛開始看了scrapyd,感覺不好用,又搜了搜,發(fā)現(xiàn)了supervisor這個(gè)python進(jìn)程管理程序。
supervisor簡(jiǎn)介Supervisor是用Python開發(fā)的一套通用的進(jìn)程管理程序,能將一個(gè)普通的命令行進(jìn)程變?yōu)楹笈_(tái)daemon,并監(jiān)控進(jìn)程狀態(tài),異常退出時(shí)能自動(dòng)重啟。它是通過(guò)fork/exec的方式把這些被管理的進(jìn)程當(dāng)作supervisor的子進(jìn)程來(lái)啟動(dòng),這樣只要在supervisor的配置文件中,把要管理的進(jìn)程的可執(zhí)行文件的路徑寫進(jìn)去即可。也實(shí)現(xiàn)當(dāng)子進(jìn)程掛掉的時(shí)候,父進(jìn)程可以準(zhǔn)確獲取子進(jìn)程掛掉的信息的,可以選擇是否自己?jiǎn)?dòng)和報(bào)警。supervisor還提供了一個(gè)功能,可以為supervisord或者每個(gè)子進(jìn)程,設(shè)置一個(gè)非root的user,這個(gè)user就可以管理它對(duì)應(yīng)的進(jìn)程。
安裝supervisor我的系統(tǒng)是centos7所以運(yùn)行以下命令
# yum install supervisor
等待安裝完后,進(jìn)入/ect目錄,主要看如下兩個(gè)文件。
supervisord.conf為主配置文件,可以打開看一下,不用更改,supervisord.d為子進(jìn)程的配置文件夾,存放在這里的配置文件在程序啟動(dòng)后會(huì)自動(dòng)讀取該文件夾下的文件,我們進(jìn)入這個(gè)文件夾,創(chuàng)建一個(gè)子進(jìn)程文件,名為awesome.ini,內(nèi)容如下:
[program:awesome] command = shell.py directory = /python/scrapy user = root startsecs = 3 redirect_stderr = true stdout_logfile_maxbytes = 50MB stdout_logfile_backups = 10 stdout_logfile = /log/app.log
說(shuō)明:
command:為要后臺(tái)運(yùn)行的shell命令
directory:指定command命令要執(zhí)行的文件夾
user:執(zhí)行命令的用戶
stdout_logfile:程序運(yùn)行的日志,報(bào)錯(cuò)可以在這里看。
創(chuàng)建好子進(jìn)程文件后,運(yùn)行如下命令解鎖程序:
# sudo unlink /run/supervisor.sock
再運(yùn)行以下命令運(yùn)行程序啟動(dòng)爬蟲:
# supervisord
運(yùn)行成功會(huì)有如下提示:
/usr/lib/python2.7/site-packages/supervisor/options.py:296: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including it s current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security. "Supervisord is running as root and it is searching "進(jìn)程管理的相關(guān)命令
1) 查看所有子進(jìn)程的狀態(tài):
# supervisorctl status awesome RUNNING pid 2395, uptime 0:08:41
2)關(guān)閉、開啟指定的子進(jìn)程:
# supervisorctl stop zhoujy awesome: stopped
3)關(guān)閉、開啟所有的子進(jìn)程:
# supervisorctl stop all awesome: stopped # supervisorctl start all awesome: started總結(jié)
終于可以愉快的爬蟲了呢!OvO
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/42760.html
摘要:阿里云安裝腳本安裝腳本兩個(gè)腳本可以任選其一,速度都非常不錯(cuò)。推薦的加速器有和阿里云。阿里云不同平臺(tái)的鏡像加速方法配置可以參考的官方文檔。以上便是的安裝方式說(shuō)明。上一篇文章網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)爬蟲框架的安裝下一篇文章網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)部署相關(guān)庫(kù) 上一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---11、爬蟲框架的安裝:ScrapySplash、ScrapyRedis下一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---...
摘要:環(huán)境準(zhǔn)備任務(wù)時(shí)間前置環(huán)境部署在開始部署前,我們需要做一些前置準(zhǔn)備。此時(shí)輸入并回車,應(yīng)該可以看到類似下面這樣的輸出,說(shuō)明一切正常。完成后,可以通過(guò)快捷鍵或命令行鍵入來(lái)退出,進(jìn)入下一步。 歡迎大家前往騰訊云+社區(qū),獲取更多騰訊海量技術(shù)實(shí)踐干貨哦~ 本文由騰訊云實(shí)驗(yàn)室發(fā)表于云+社區(qū)專欄 騰訊云提供了開發(fā)者實(shí)驗(yàn)室教你搭建 PySpider 爬蟲服務(wù),教程內(nèi)容如下,用戶可以點(diǎn)擊開發(fā)者實(shí)驗(yàn)室快速...
摘要:什么是爬蟲網(wǎng)絡(luò)爬蟲也叫網(wǎng)絡(luò)蜘蛛,是一種自動(dòng)化瀏覽網(wǎng)絡(luò)的程序,或者說(shuō)是一種網(wǎng)絡(luò)機(jī)器人。 什么是爬蟲 網(wǎng)絡(luò)爬蟲也叫網(wǎng)絡(luò)蜘蛛,是一種自動(dòng)化瀏覽網(wǎng)絡(luò)的程序,或者說(shuō)是一種網(wǎng)絡(luò)機(jī)器人。它們被廣泛用于互聯(lián)網(wǎng)搜索引擎或其他類似網(wǎng)站,以獲取或更新這些網(wǎng)站的內(nèi)容和檢索方式。它們可以自動(dòng)采集所有其能夠訪問(wèn)到的頁(yè)面內(nèi)容,以供搜索引擎做進(jìn)一步處理(分檢整理下載的頁(yè)面),而使得用戶能更快的檢索到他們需要的信息。簡(jiǎn)...
摘要:安裝配置文件內(nèi)容如下守護(hù)進(jìn)程,用這個(gè)的原因?qū)嵲谑且驗(yàn)樘嗳趿?,一看不住就掛了安裝配置導(dǎo)入默認(rèn)配置鏈接管理設(shè)置管理進(jìn)程啟動(dòng)創(chuàng)建文件內(nèi)容如下啟動(dòng)查看如一切正常常用命令查看狀態(tài)重新載入重啟任務(wù)可以更新配置檢查日志爬蟲部署部署項(xiàng)目目錄 scrapyd 安裝: sudo pip install scrapyd 配置: #文件~/.scrapyd.conf #內(nèi)容如下: [scrapyd] egg...
摘要:安裝配置文件內(nèi)容如下守護(hù)進(jìn)程,用這個(gè)的原因?qū)嵲谑且驗(yàn)樘嗳趿?,一看不住就掛了安裝配置導(dǎo)入默認(rèn)配置鏈接管理設(shè)置管理進(jìn)程啟動(dòng)創(chuàng)建文件內(nèi)容如下啟動(dòng)查看如一切正常常用命令查看狀態(tài)重新載入重啟任務(wù)可以更新配置檢查日志爬蟲部署部署項(xiàng)目目錄 scrapyd 安裝: sudo pip install scrapyd 配置: #文件~/.scrapyd.conf #內(nèi)容如下: [scrapyd] egg...
閱讀 2911·2021-11-15 11:39
閱讀 1530·2021-08-19 10:56
閱讀 1103·2019-08-30 14:12
閱讀 3753·2019-08-29 17:29
閱讀 728·2019-08-29 16:21
閱讀 3429·2019-08-26 12:22
閱讀 1524·2019-08-23 16:30
閱讀 1032·2019-08-23 15:25