supervisor使用小记
Posted Masako
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,后面可以不加,自己替换对应参数即可使用
第四步:
开启我的进程
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
以上是关于supervisor使用小记的主要内容,如果未能解决你的问题,请参考以下文章
Supervisor使用 Supervisor source command not found 如何解决
WebStorm,使用 Node Supervisor(所以每次代码更改后不必重新启动)?
Node.js使用supervisor遭遇‘supervisor’不是内部或外部命令,如果解决?