前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用 Supervisor 管理你的进程

如何使用 Supervisor 管理你的进程

原创
作者头像
南山竹
发布2024-07-02 14:31:09
960
发布2024-07-02 14:31:09

在我们的开发生活中,常常需要让某些应用或服务持续运行。这时候,就需要一个能够帮助我们管理这些进程的工具。

Supervisor 是一个广泛使用的进程管理工具,它可以让你轻松管理和控制多个进程。

在本文中,我们将一起学习如何在 Linux 系统中安装和使用 Supervisor,确保你的应用或服务能够无忧无虑地运行。

什么是 Supervisor?

Supervisor 是一个客户端/服务器系统,它允许其用户监视和控制类 Unix 操作系统上的一组进程。它是用 Python 编写的,因此在很多 Linux 发行版中都非常容易安装。

Supervisor 的常用命令

在深入了解如何在特定的环境下安装和配置 Supervisor 之前,让我们先熟悉几个最常用的 Supervisor 命令:

命令

说明

supervisorctl reload

重启 Supervisor(用于新增配置或修改后,重新加载配置)

supervisorctl status <程序名>

查看某个程序状态,不加程序名查看所有任务状态

supervisorctl shutdown

关闭所有由 Supervisor 管理的进程

supervisorctl start <程序名>

启动指定程序

supervisorctl stop <程序名>

停止指定程序

在阿里云 CentOS 7.6 上 安装 Supervisor

安装 Supervisor

代码语言:sh
复制
yum install -y supervisor

查看和修改配置文件

安装完成后,让我们来查看 Supervisor 的主配置文件 supervisord.conf

代码语言:sh
复制
cat /etc/supervisord.conf

重点关注文件中的 include 部分,这告诉 Supervisor 从哪里读取额外的配置文件:

代码语言:sh
复制
[include]
files = supervisord.d/*.ini

添加自定义进程配置信息

创建一个新的配置文件,用来定义我们的应用进程:

代码语言:ini
复制
; vim /etc/supervisord.d/larablog.ini

[program:larablog-horizon]
process_name=%(program_name)s
command=php /www/wwwroot/larablog/artisan horizon
autostart=true
autorestart=true
user=www
redirect_stderr=true
stdout_logfile=/www/wwwroot/larablog/storage/logs/worker.log

更新和启动进程

更新 Supervisor 配置,以包括我们的新服务:

代码语言:sh
复制
sudo supervisorctl update

若遇到启动错误,如 socket.error 报错,试着直接启动 supervisord

代码语言:sh
复制
sudo supervisord -c /etc/supervisord.conf

# 然后再次尝试执行重载配置命令
sudo supervisorctl update

查看进程状态

最后,我们可以查看进程的状态,确认服务是否被正确启动:

代码语言:sh
复制
sudo supervisorctl status

在 Ubuntu 上 安装 Supervisor

安装和配置 Supervisor 在 Ubuntu 系统上的流程与在 CentOS 上类似,但使用的包管理器为 apt

代码语言:sh
复制
sudo apt-get install supervisor

随后,添加和更新进程配置的流程相同,只是配置文件可能位于不同的目录。在 Ubuntu 上,路径可能是 /etc/supervisor/conf.d/

添加自定义配置信息

代码语言:ini
复制
; vim /etc/supervisor/conf.d/larablog.conf

[program:larablog-horizon]
process_name=%(program_name)s
command=php /www/wwwroot/larablog/artisan horizon
...

接着使用 sudo supervisorctl update 来加载新配置,使用 sudo supervisorctl status 来查看服务状态。

结语

无论你的服务器运行在哪个 Linux 发行版本上,Supervisor 都是一个强大且灵活的工具,可以帮助你管理后台进程。通过简单的配置,你可以确保你的应用和服务能够稳定运行,即使在遇到突发问题时也能自动恢复。

希望这篇指南能帮助你更好地理解和使用 Supervisor

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是 Supervisor?
  • Supervisor 的常用命令
  • 在阿里云 CentOS 7.6 上 安装 Supervisor
    • 安装 Supervisor
      • 查看和修改配置文件
        • 添加自定义进程配置信息
          • 更新和启动进程
            • 查看进程状态
            • 在 Ubuntu 上 安装 Supervisor
              • 添加自定义配置信息
              • 结语
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档