supervisor

1、安装

yum install -y supervisor

安装好后在/etc/会生成一个supervisord.conf文件及一个supervisord.d文件目录

2、查看supervisor是否安装成功

supervisord --version

3、启动

supervisord -c /etc/supervisord.conf

4、查看supervisor是否启动成功

ps -ef|grep supervisord

5、设置supervisor 开机启动

systemctl enable supervisord

检查是否是开机启动

systemctl is-enabled supervisord

6、启动服务

systemctl start supervisord

启动时可能回报错:Another program is already listening on a port that one of our HTTP servers is config...rvisord.

 解决方案:

执行命令 find / -name supervisor.sock  然后 unlink /路径/supervisor.sock 最后再执行启动命令 systemctl start supervisord 

7、查看状态

systemctl status supervisord.service

8、配置supervisor ,web管理页面

修改配置信息,supervisor 默认配置文件,放在 /etc/supervisord.conf 路径中:

 

 

[inet_http_server]         ; HTTP 服务器,提供 web 管理界面
port=*:9001                ; Web 管理后台运行的 IP 和端口
username=user              ; 登录管理后台的用户名
password=1234               ; 登录管理后台的密码

 [include]                     
 files = supervisord.d/*.ini ;配置文件夹

 

 

修改完之后重启:

supervisorctl reload

然后通过http://ip:9001/访问web界面,账户名密码就是你配置的,效果如下:

 

如果外网无法访问的话

创建配置文件

创建一个.ini文件,放在目录supervisord.d下

 

 

[program:demo] ;程序名称
command=dotnet demo.dll ; 运行命令
directory=/web/publish;目录
environment=ASPNETCORE_ENVIRONMENT=Production;环境变量
user=root;用户
stopsignal=INT
autostart=true;如果是true的话,子进程将在supervisord启动后被自动启动
autorestart=true;进程死掉后自动重启的情况
stderr_logfile=/var/log/demo/demo.err.log;错误日志文件
stdout_logfile=/var/log/demo/demo.out.log;输出日志文件

 

 

 重启

systemctl restart supervisord

查看是否生效

supervisorctl status

然后把Xshell关了,浏览器中输入:http://ip:8080/api/values,也能看到以下页面:

supervisorctl 常用命令

查看任务状态:supervisorctl status

启动任务:supervisorctl start <name>

停止任务:supervisorctl stop <name>

重启任务:supervisorctl restart <name>

清除日志文件:supervisorctl  clear <name>

清除多个日志文件:supervisorctl  clear <name> <name> 

清除所有日志文件:supervisorctl  clear all 

移除任务:supervisorctl  remove <name>

 

supervisor 重启 启动 命令

sudo supervisorctl reload  首次重起 
sudo supervisorctl start all 首次重起 

 

systemctl restart supervisord 重启

supervisorctl reload  重启

可能是由于supervisord进程停止了,建议重新运行

sudo supervisord -c /etc/supervisord.conf
sudo supervisorctl -c /etc/supervisord.conf

1 问题  *** Unknown syntax: supervisorctl

 生成配置文件:

mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisord.conf

打开配置文件修改一点东西;

vim /etc/supervisord.conf

要将底部的

[include]
;files = relative/directory/*.ini
files=/etc/supervisor/*.conf
 

 

第一类:
报错信息: 
error: <class 'socket.error'>, [Errno 2] No such file or directory: file: <string> line: 1

解决办法: 
这个可能有多种原因,可能是已经启动过了也可能是没权限,解决步骤如下: 
1. 先要确认是否已经启动过了:’ps -ef | grep supervisord’ 
2. 如果有的话先kill掉 
3. 运行下面命令: 
sudo touch /var/run/supervisor.sock 
sudo chmod 777 /var/run/supervisor.sock 

4. 再尝试重新启动:supervisord -c /etc/supervisord.conf(如果没有文件找个别人的配置拷贝过来或者运行echo_supervisord_conf > /etc/supervisord.conf)
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值