Supervisor配置和使用

前几天写了一个python脚本,根据一个网站提供的api,取数据。但是,由于网络不稳定,网站的服务质量较差等原因,脚本在运行过程中老出错。听师兄介绍一个工具,能监控进程的运行,在进程出错时进行自动重启,恰好能解决这个问题。下面是安装和配置方法。
1、安装
ubuntu系统上可以直接用apt-get进行安装:
sudo apt-get install supervisor
安装之后,会有两个可执行文件:
/usr/bin/supervisord             --  supervisor服务守护进程
/usr/bin/supervisorctl           --  supervisor控制台进程
在/etc/supervisor目录中存放着supervisor的配置文件:其中conf.d是一个子目录,其中存放着supervisor监管的进程的配置信息,一个进程有一个对
应的配置文件;supervisord.conf是supervisor的主配置文件,定义服务名称以及接口等等。
2、配置
现在要用supervisor监控一个脚本进程,在/etc/supervisor/conf.d中新建一个关于这个脚本进程的配置文件。
cd /etc/supervisor/conf.d
vim script.conf
其中输入:
[program:script.py] #程序的名字,在supervisor中可以用这个名字来管理该程序。
command=/home/hadoop/script1.1.py #启动程序的命令
autorstart=true #设置改程序是否虽supervisor的启动而启动
directory=/home/hadoop #相当于在该目录下执行程序
autorestart=true #程序停止之后是否需要重新将其启动
startsecs=10 #重新启动时,等待的时间
startretries=36 #重启程序的次数
redirect_stderr=true #是否将程序错误信息重定向的到文件
stdout_logfile=/home/hadoop/supervisor_log/log.txt #将程序输出重定向到该文件
stderr_logfile=/home/hadoop/supervisor_log/err.txt #将程序错误信息重定向到该文件
保存文件,便完成配置。
3、使配置更改生效
每次修改主配置文件或增改子配置文件都需要执行supervisorctl update使新配置生效。或者用supervisorctl reload重新重新启动supervisor程序。
4、开启基于http的UI控制台
修改主配置文件 
vim /etc/supervisor/supervisord.conf,添加如下内容:
[inet_http_server]
port = 192.168.1.60:9001 #IP和绑定端口
username = admin #管理员名称
password = 123456 #管理员密码

这样,在浏览器中输入配置中写的地址和端口号,输入配置好的用户名和密码,便可以看到基于网页的控制台界面。从中,可以察看supervisor监控的>信息,可以察看进程的日志等。

下面是supervisor的主页,详细问题可以查看主页。

http://supervisord.org/

其实,可以通过supervisorctl打开supervisor的命令行控制台,然后输入help可以查看看用的命令,然后help+命令可以查看每个命令的具体功能。(貌似好多开源的工具都是这样做的。)


本人小白,欢迎拍砖。转载请注明出处。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Laravel项目中使用Supervisor进行进程管理,你可以按照以下步骤进行配置: 1. 确保已经安装了Supervisor。可以使用以下命令检查是否已安装: ``` supervisorctl --version ``` 2. 创建一个新的Supervisor配置文件。可以使用以下命令创建一个新的配置文件: ``` sudo nano /etc/supervisor/conf.d/laravel-worker.conf ``` 3. 在配置文件中添加以下内容,替换其中的路径和命令为你的实际情况: ``` [program:laravel-worker] process_name=%(program_name)s_%(process_num)02d command=php /path/to/artisan queue:work --tries=3 autostart=true autorestart=true numprocs=8 redirect_stderr=true stdout_logfile=/path/to/storage/logs/worker.log ``` 以上配置将创建一个名为"laravel-worker"的进程组,使用`php /path/to/artisan queue:work --tries=3`命令启动Laravel队列工作进程。`numprocs=8`表示创建8个进程实例。 4. 保存并关闭文件。 5. 重新加载Supervisor配置文件。使用以下命令重新加载配置文件: ``` sudo supervisorctl reread sudo supervisorctl update ``` 6. 启动和管理Laravel队列工作进程使用以下命令启动、停止或重启Laravel队列工作进程: ``` sudo supervisorctl start laravel-worker:* sudo supervisorctl stop laravel-worker:* sudo supervisorctl restart laravel-worker:* ``` 7. 查看进程状态和日志。使用以下命令检查Laravel队列工作进程状态和日志输出: ``` sudo supervisorctl status laravel-worker:* tail -f /path/to/storage/logs/worker.log ``` 这样,你就可以使用Supervisor来管理Laravel项目中的队列工作进程了。确保按照实际情况修改配置文件中的路径和命令,并注意日志文件的路径设置。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值