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