找回密码
 立即注册
首页 业界区 业界 硅基聊天室——如何用supervisor优雅的管理服务进程 ...

硅基聊天室——如何用supervisor优雅的管理服务进程

许娴广 2025-8-24 18:32:45
导航


  • Supervisor是什么
  • centos安装Supervisor

    • 使用yum安装Supervisor
    • 查看supervisor是否安装成功
    • 启动
    • 设置supervisor 开机启动
    • 查看服务状态
    • 配置supervisor,web管理页面

  • 结语
  • 参考
本文首发《如何用supervisor优雅的管理服务进程》。阅读时长3min。
视频讲解


Supervisor是什么

Supervisor是一个Python写的进程管理工具,可以方便用于启动、重启、关闭进程。特别适合需要常驻内存的进程。
Supervisor相关命令:
  1. # 启动supervisord
  2. supervisord -c /etc/supervisord.conf
  3. supervisorctl -c /etc/supervisord.conf
  4. # 停止supervisord
  5. supervisorctl shutdown
  6. # 重新载入配置
  7. supervisorctl reload
  8. # 查看程序状态
  9. supervisorctl status
  10. # 查看服务器进程
  11. ps -ef | grep supervisord
复制代码
centos 安装Supervisor

(1) 使用yum安装Supervisor
  1. yum install -y supervisor
复制代码
   
1.png

安装好后在/etc/会生成一个supervisord.conf文件及一个supervisord.d文件目录
(2) 查看supervisor是否安装成功
  1. [root@hecs-275297 /]# supervisord --version
  2. 4.2.2
复制代码
(3) 启动
  1. [root@hecs-275297 ~]# supervisord -c /etc/supervisord.conf
复制代码
查看supervisor是否启动成功
  1. [root@hecs-275297 ~]# ps -ef|grep supervisord
  2. root     4031860       1  0 21:05 ?        00:00:00 /usr/bin/python3.6 /usr/bin/supervisord -c /etc/supervisord.conf
  3. root     4033110 4030772  0 21:08 pts/0    00:00:00 grep --color=auto supervisord
  4. [root@hecs-275297 ~]#
复制代码
(4) 设置supervisor 开机启动
  1. [root@hecs-275297 ~]# systemctl enable supervisord
  2. Created symlink /etc/systemd/system/multi-user.target.wants/supervisord.service → /usr/lib/systemd/system/supervisord.service.
  3. [root@hecs-275297 ~]#
复制代码
检查是否是开机启动
  1. [root@hecs-275297 ~]# systemctl is-enabled supervisord
  2. enabled
复制代码
(5) 查看服务状态
  1. [root@hecs-275297 ~]# systemctl status supervisord.service
  2. ● supervisord.service - Process Monitoring and Control Daemon
  3.    Loaded: loaded (/usr/lib/systemd/system/supervisord.service; enabled; vendor preset: disabled)
  4.    Active: active (running) since Sat 2023-02-11 21:28:42 CST; 48s ago
  5.   Process: 4040629 ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf (code=exited, status=0/SUCCESS)
  6. Main PID: 4040632 (supervisord)
  7.     Tasks: 1 (limit: 23712)
  8.    Memory: 16.3M
  9.    CGroup: /system.slice/supervisord.service
  10.            └─4040632 /usr/bin/python3.6 /usr/bin/supervisord -c /etc/supervisord.conf
  11. Feb 11 21:28:42 hecs-275297 systemd[1]: Starting Process Monitoring and Control Daemon...
  12. Feb 11 21:28:42 hecs-275297 systemd[1]: Started Process Monitoring and Control Daemon.
  13. [root@hecs-275297 ~]#
复制代码
(6) 配置supervisor,web管理页面
修改配置信息,supervisor 默认配置文件,放在 /etc/supervisord.conf 路径中:
  1. [inet_http_server]         ; HTTP 服务器,提供 web 管理界面
  2. port=*:9001                ; Web 管理后台运行的 IP 和端口
  3. username=admin              ; 登录管理后台的用户名
  4. password=123               ; 登录管理后台的密码
  5. [include]                     
  6. files = supervisord.d/*.conf ;配置文件夹
复制代码
修改完之后重启:
  1. [root@hecs-275297 ~]# supervisorctl reload
  2. Restarted supervisord
复制代码
Notes: 为了演示,这的账户和密码设置很简单,实际在配置的时候,建议设置复杂密码。
在浏览器访问:http://ip:9001

   
2.png

输入刚才在supervisord.conf文件中设置的账户和密码。
这个时候我们可以通过9001端口访问下这个页面,就能看到一个没有任务列表的的页面

   
3.png

至此,supervisor安装完毕!
结语

在实际工作中,supervisor都有大量使用来管理我们生产环境的进程。
当服务器出问题导致所有应用程序都被终止,此时可以用supervisor同时启动所有应用程序而不是一个一个地敲命令启动。
参考


  • centos安装supervisor
  • 配置supervisor实现进程守护

4.jpeg


来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除

相关推荐

您需要登录后才可以回帖 登录 | 立即注册