群晖安装Supervisor守护进程之node-onebot实战

背景:node-onebot在傻妞作者发保姆级教程的时候其实我就部署成功了,但是因为群晖没有systemd,猫咪大佬给的那几条systemctl命令用不了,这个问题一直没有解决,对结果很不满所以一直没有更新教程。上个周末花了点时间学习,看起来我好像成功了。目前挂载没有问题,终于可以给你们交出满意的答卷了。

简单介绍一下Supervisor,我只能根据自己的理解说些白话,可能不专业不严谨,大佬们不要见笑,欢迎纠正我。

一个进程管理工具,群晖系统也不自带,需要自行安装使用。
有了这个工具就可以比较方便的管理想要守护的进程。
因为node-onebot需要后台挂载,然后nohup可能会挂掉,所以通过这个进程管理工具守护进程,效果会好一些。

我的系统环境:群晖6.2.3版本,半白。

下面开始,认真码字✍️。

群晖Supervisor安装使用

一、安装Python3

步骤:群晖套件中心👉搜索🔍👉安装Python3

二、安装pip包管理工具

安装这个的目的是为了方便你可以用pip3命令,使用ssh工具链接群晖。

1、下载get-pip.py并运行

sudo -i #用root身份,其实不用root身份也可以的,就是后面的安装路径啥的要根据自己的改。
wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' #下载get-pip.py
python3 /tmp/get-pip.py #运行get-pip.py,一般会提示你的安装路径,记住它,等下要用

如果是root身份安装路径一般在/var/packages/py3k/target/usr/local/bin
如果是用户身份安装路径一般在/var/services/homes/你的用户名/.local/bin

2、配置环境变量

安装好pip后,还需要配置一下环境变量,不然还是无法使用pip3安装。

vim ~/.bash_profile 
#按键盘字母i进入编辑模式,输入下面的内容
export PATH=$PATH:/var/packages/py3k/target/usr/local/bin #如果你是用户身份,路径应该是/volume1/homes/你的用户名/.local/bin
#然后按键盘esc退出编辑模式,输入命令:wq保存并退出。
#执行下面的命令生效
source ~/.bash_profile
#最后检查一下环境
echo $PATH #返回下图的结果就是正常了,最后的就是pip3的。

至此,你的群晖就可以用pip3命令了。

三、安装配置Supervisor

1、安装Supervisor

pip3 install supervisor #安装supervior

返回下面的结果就是正常的,警告内容也不用管,反正我测试下来也没有影响使用。

2、配置Supervisor

1)生成默认配置文件
echo_supervisord_conf > /etc/supervisord.conf #会在etc目录下生成一个默认配置文件
2)修改配置文件

然后,你就可以修改这个默认配置文件,来添加你想要守护的进程。

vim /etc/supervisord.conf #按键盘字母i进入编辑模式,编辑好后按键盘esc退出编辑模式,输入命令:wq保存并退出。

A.取消配置文件中include指令的注释,把配置切割到子文件中。(非必需)

  • 光标移动到[include]模块
  • 删除[include]前面的分号;(就是取消注释吧)
  • 添加files = /etc/supervisord.d/*.conf,上面那个不用管它。

这里的作用我理解应该是可以添加子进程管理。好像我也没用上,但是先记录下来吧。

B.进程配置:node-onebot项目为🌰

详细的进程配置说明可以参考官方文档
当然,我知道你们一点都不想看,所以我就用node-onebot项目为🌰,
直接给一段配置,让大家直接抄就行(白嫖怪们),复制到最后就行。

[program:node-onebot1] #进程1
command=/volume2/@appstore/Node.js_v12/usr/local/bin/node /volume1/docker/sillyGirl/node-onebot/main.js qq机器人号码1 #前提是你之前已经运行过一次进行初始化登录了
user=root
autostart=true
startsecs=3
startretries=100
autorestart=true
stderr_logfile=/volume1/docker/sillyGirl/node-onebot/error1.log #报错日志路径,随便改
stderr_logfile_maxbytes=50MB
stderr_logfile_backups=10
stdout_logfile=/volume1/docker/sillyGirl/node-onebot/access1.log #运行日志路径,随便改
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10

[program:node-onebot2] #进程2
command=/volume2/@appstore/Node.js_v12/usr/local/bin/node /volume1/docker/sillyGirl/node-onebot/main.js qq机器人号码2 #前提是你之前已经运行过一次进行初始化登录了
user=root
autostart=true
startsecs=3
startretries=100
autorestart=true
stderr_logfile=/volume1/docker/sillyGirl/node-onebot/error2.log #报错日志路径,随便改
stderr_logfile_maxbytes=50MB
stderr_logfile_backups=10
stdout_logfile=/volume1/docker/sillyGirl/node-onebot/access2.log #运行日志路径,随便改
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10

编辑好后按键盘esc退出编辑模式,输入命令:wq保存并退出。

Tips:

  • command后面的第一节,是你的node安装路径,务必改成自己的路径。
    群晖套件中心👉找到安装的Node.jsv12,看看你的存储空间路径,如果是1,就把路径改成/volume1/@appstore/Node.js_v12/usr/local/bin/node
  • command后面的第二节,是你的node-onebot安装路径,务必改成自己的。
  • 运行这个的前提是你之前已经初始化登录过qq机器人账号了。
3)最后启动进程!
supervisord #启动进程,返回下面的结果就表示成功了!

请务必初始化登录node-onebot后,再使用守护进程!!!

起飞效果,稳稳地很贴心,妈妈再也不用担心飞机颠簸了!!!

supervisor的常用命令

supervisord #初始启动Supervisord,启动、管理配置中设置的进程;
supervisorctl stop(start, restart) xxx #停止(启动,重启)某一个进程(xxx);
supervisorctl reread #只载入最新的配置文件, 并不重启任何进程;
supervisorctl reload #载入最新的配置文件,停止原来的所有进程并按新的配置启动管理所有进程;
supervisorctl update #根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启;

后话:这个学习了好久,也码字了好久。真心希望你们可以看懂可以学会。傻妞应该同样适用,但是暂时懒得搞了。 预祝各位从此傻妞不掉线,qq不冻结!

-> 加入科技玩家交流群组:点击加入 注意:
1.文中二维码和链接可能带有邀请性质,请各位玩家自行抉择。
2.请勿通过链接填写qq号与密码、银行卡号与密码等个人隐私信息。
3.禁止纯拉人头,拉app注册等信息,发现必小黑屋。
4.同一种信息仅发一次,多发会被删除。
5.文章中源码或APP等,无法保证其绝对安全,需自行辨别。
6.文章关联方不想展示也可以微信站长“socutesheep”删除。
本文由 @LAzySheep 发布。如若转载,请注明出处: 科技玩家 » 群晖安装Supervisor守护进程之node-onebot实战

给TA买糖
共{{data.count}}人
人已买糖
学习笔记折腾记教程精选文章

群晖傻妞SillyGirl完整部署教程 0305更新部分命令

2021-12-13 13:46:33

教程玩家投稿精选文章

SaoBing全新版本升级-安装教程

2021-12-13 18:49:00

64 条回复 A文章作者 M管理员
贴心提醒
请认真对待作者付出,勿发表无意义言论,触发过滤规则的评论将无法提交,包含敏感词的评论会自动变成待审核状态哦。
  1. 萝卜头

    谢谢,分享学习了

  2.              24192

    学到了,根据你的方案,我在宝塔面板的supervisor管理器,启动了,之前一直不知道怎么弄,哈哈,感谢楼主

  3. 这把看我表演

    谢谢分享,学习了

  4. 缺失的安全感

    谢谢,分享学习了

  5. slimei

    前来顶贴!

  6. slimei

    辛苦了,学习一下

  7. 小天1070

    /var/packages/py3k/target/usr/local/lib/python3.8/site-packages/supervisor/options.py:474: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security. self.warnings.warn( 最后启动是这样,能帮我解决下吗

  8. 七年

    瞅瞅瞅瞅,mark一手

  9. 幻念

    先看看,不明白的地方再问

  10. slimei

    感谢分享,插眼学习

  11. 七年

    辛苦大佬分享了,我先学习一下

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索