【守护进程】使用Supervisor或宝塔进程守护实现开机自启
温馨提醒:您当前浏览的文章已经超过122天了,可能与实际有所不符,酌情参考!
目录
前言
很多朋友现在都是软路由,所以难免会遇到停电,断网等问题,导致服务器或者软路由重启,但是自己需要的程序却没有启动,这里推荐Supervisor来实现开机即自启,目前有宝塔应用和命令安装Supervisor配置文件来实现。
推荐还是宝塔的可视化更方便,因人而异
宝塔
-
前提你有宝塔,然后咋们进入宝塔,找到软件商店,搜索进程守护管理器。
-
进入后找到添加进程守护
-
我们按照go-cqhttp程序为例子:
-
补充一些说明,日志是可以看到运行状况的,可以看看是否如你所愿,如果运行一些js项目,比如app.js,那就在启动命令内填写正常的启动命令:node app.js 如果是启动jar项目就填写命令:java -jar xxxx.jar 即可,根据不同的类型,使用正确的启动命令即可!
Supervisor
安装Supervisor
- 用yum直接安装即可。
yum install -y supervisor
- 安装好后启动Supervisor
![](https://www.luomubiji.host/wp-content/uploads/2023/09/4863641baffa93c75c03cd248ab50d4c.png)
supervisord -c /etc/supervisord.conf
- 设置开机自启Supervisor,并修改配置文件
systemctl enable supervisord
当然我们也可以验证是否开机自启成功,如果输入命令提示enabled那就是OK了
systemctl is-enabled supervisord
![](https://www.luomubiji.host/wp-content/uploads/2023/09/90D5C3EC-E33B-4da2-A944-9EEEF6680491.png)
开启web
- 修改配置文件,找到inet_http_server我们开启web,如图所示的设置(按键盘的i即可进行修改,修改后按键盘的esc,然后输入:wq保存)
前面的;就是注释的意思,删除就表示生效
port=*:9001
username=user
password=123
- 保存后好,然后重启,我们去网页输入http://ip:端口 IP如果你是本地就用本地的,端口记得开!!!正常来说没问题!
systemctl restart supervisord
![](https://www.luomubiji.host/wp-content/uploads/2023/09/bc4c655fb8a44bf20eefeab1bc2db899.png)
![](https://www.luomubiji.host/wp-content/uploads/2023/09/61f74ad9a2c2d8a0a3b2faacc085888e.png)
到此我们已经完成了web,web主要可以更加直观的可以看到守护的进程
示例守护奥特曼
-
我们用命令在/etc/supervisord.d内创建一个ini配置,可以放置多个ini配置,比如我要守护奥特曼,还有FDD,还有傻妞等,就每个对应配置一个ini配置文件即可。现在我们拿奥特曼示例,因为演示的服务器只有奥特曼,我们用vim创建一个atm.ini文件。
vim /etc/supervisord.d/atm.ini
-
在文件内我们按照下图进行配置,其他默认。
[program:atm]里的atm就是.ini前面的名称
[program:atm]
command=/root/autMan/autMan
directory=/root/autMan
autorestart=true
startsecs=3
startretries=3
stdout_logfile=/var/log/atm.log
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=5
user=root
priority=999
numprocs=1
redirect_stderr=true
[program:atm]里的atm就是.ini前面的名称,如果你的ini叫fdd.ini,那你就写[program:fdd],其他按照图内操作。
配置完成后,我们一样跟前面esc,然后:wq保存
- 保存好后,我们让配置生效
![](https://www.luomubiji.host/wp-content/uploads/2023/09/06ce9c96133cae0990e36e09804a21d8.png)
-
控制台流程
- 进入控制台
supervisorctl
- 读取配置
reread
- 更新配置
update
- 开启所有配置
start all
- 查看所有配置的状态
status
- 进入控制台
命令解释
命令 | 释义 |
---|---|
supervisorctl status | 守护进程状态 |
supervisorctl stop 进程名 | 关闭进程 (不会重新读取配置文件) |
supervisorctl stop 进程名: * | 关闭某类进程 |
supervisorctl stop all | 关闭所有的进程 |
supervisorctl start 进程名 | 开启进程 (不会重新读取配置文件) |
supervisorctl start 进程名: * | 开启某类进程 |
supervisorctl start all | 开启所有的进程 |
supervisorctl restart 进程名 | 重启进程 (不会重新读取配置文件) |
supervisorctl restart进程名: * | 重启某类进程 |
supervisorctl restart all | 重启所有的进程 |
supervisorctl reload | 重启supervisord(更新所有服务的配置文件,并重启所有服务 ) |
supervisorctl update | 更新配置文件(重启配置文件有更新的进程,相当于 reread + restart,服务会使用新配置 ) |
supervisorctl reread | 只会更新配置文件 ,不会重启进程,服务实际未使用新配置 |
pkill supervisord | 杀死supervisord |
ps aux 丨 grep supervisord | 查看服务进程 |
几个示例
-
fdd
[program:fdd] command= java -jar QL-Emotion.jar directory=/root/fdd/ autorestart=true startsecs=3 startretries=3 stdout_logfile=/var/log/fdd.log stdout_logfile_maxbytes=2MB stdout_logfile_backups=5 user=root priority=999 numprocs=1 redirect_stderr=true
-
fdd资产查询
[program:zichanchaxun] command=node app.js directory=/www/changePro-main/ autorestart=true startsecs=3 startretries=3 stdout_logfile=/var/log/zichanchaxun.log stdout_logfile_maxbytes=2MB stdout_logfile_backups=5 user=root priority=999 numprocs=1 redirect_stderr=true
-
go-cqhttp
[program:go-cqhttp] command=/root/autMan/go-cqhttp/go-cqhttp directory=/root/autMan/go-cqhttp/ autorestart=true startsecs=3 startretries=3 stdout_logfile=/var/log/go-cqhttp.log stdout_logfile_maxbytes=50MB stdout_logfile_backups=5 user=root priority=999 numprocs=1 redirect_stderr=true
阅读剩余
版权声明:
作者:余生安好
链接:https://www.luomubiji.host/supervisor.html
文章版权归作者所有,未经允许请勿转载。
THE END