supervisor使用小記


最近使用supervisor部署爬蟲,百度了很多,磕磕絆絆自己也算是用起來了,以下是整理的使用情況.

第一步:

下載安裝supervisor

使用的ubuntu16.04,直接

sudo apt-get install supervisor

由於權限老是不夠,習慣加sudo~

也可以 pip install supervisor

第二步:

生成初始配置文件,文件名為supervisord.conf

echo_supervisord_conf > /etc/supervisord.conf 

這一步,出現了Permission denied,在命令前面加上sudo,仍然出現權限問題,使用su轉到root用戶

我配置了幾次,都只有root用戶可以執行.后來查了一下文檔才發現,一定要有root權限才可以.

第三步:

配置我的進程,假設我有一個爬蟲程序需要運行,執行以下命令

vim /etc/supervisor/conf.d/crawler.conf

crawler是我起的名字,也可以是其他的

crawler.conf需要自己配置,我的簡單的配置如下

[program:app]                     # app是需要管理的進程的名字
command=python mycrawler.py       # 需要執行的命令
directory=/home/masako/mycrawler  # 執行目錄
user=masako                       # 用戶名
autostart=true                    # 設置自動開啟,開啟supervisor時進程就開啟了
autorestart=true                  # 設置自動重啟,進程終止后自動重啟
logfile=/home/masako/crawler.log  # 指定日志文件

主要是前三個參數:command,directory和user,后面可以不加,自己替換對應參數即可使用

注意,要使配置文件生效,需要將自己的配置文件路徑包含到supervisor的配置當中.
修改 /etc/supervisord.conf 
在其中添加:
[include]
files = /etc/supervisor/conf.d/*.conf

 

第四步:

開啟我的進程

sudo supervisorctl start app

app是第三步中的program后面的名字

這個時候可能會出現

unix:///var/supervisor.sock no such file

說明你的supervisor服務沒有開啟,或者經過配置需要重啟,於是有下一步

第五步:

supervisorctl 重新載入: 

sudo supervisorctl reload

執行完這一步,成功的話會發現,自己配置的進程已經開啟了

可以使用第四步中的命令嘗試一下,會報錯start app error

這個是因為設置了自動開啟:autostart和自動重啟:autorestart

沒設置這兩個參數,需要手動再次執行第四步.

也可以先讓 supervisorctl 更新配置文件:

sudo supervisorctl update

再執行第四步,開啟進程.

第六步:

停止進程:

sudo supervisorctl stop app

 

 

關於守護進程supervisorcd 

supervisorcd 服務開啟命令:

sudo /etc/init.d/supervisor start

有的是 sudo /etc/init.d/supervisord start

由於我本地執行/etc/init.d/supervisord start老是找不到命令,自己去目錄中看了一下,發現命令是supervisor,沒有d...

這個可以根據本地的情況查看

停止使用stop

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM