Supervisor是一个用Python编写的客户端/服务器系统,它允许其用户监控和控制一系列与进程相关的服务。它主要被用于在Linux系统上管理进程。以下是在Ubuntu系统上安装和配置Supervisor的步骤:
安装Supervisor
-
-
更新系统包列表: 打开终端并执行以下命令来更新Ubuntu的包列表。
sudo apt update
-
安装Supervisor: 使用apt安装Supervisor。
sudo apt install supervisor
配置Supervisor来管理程序
- Supervisor使用配置文件来管理程序。默认情况下,这些配置文件位于
/etc/supervisor/conf.d/
目录下,并且以.conf
为文件后缀。 - 创建一个新的配置文件: 假设你想管理一个名为
myprogram
的程序,你需要在/etc/supervisor/conf.d/
目录下创建一个名为myprogram.conf
的文件。 -
sudo nano /etc/supervisor/conf.d/myprogram.conf
- 添加配置信息: 在打开的编辑器中,添加以下配置信息来定义如何管理
myprogram
。确保根据你的实际程序路径和需要执行的命令修改这些值。 -
[program:myprogram] command=/path/to/your/program autostart=true autorestart=true stderr_logfile=/var/log/myprogram.err.log stdout_logfile=/var/log/myprogram.out.log
- 保存并关闭文件。
- 通知Supervisor读取新的配置文件: 修改配置文件后,你需要运行以下命令来更新Supervisor,使之读取新的配置信息。
-
sudo supervisorctl reread sudo supervisorctl update
-
管理你的程序: 通过Supervisor,你现在可以启动、停止或重启你的程序,或者查看程序的状态。
- 启动程序:
sudo supervisorctl start myprogram
- 停止程序:
sudo supervisorctl stop myprogram
- 重启程序:
sudo supervisorctl restart myprogram
- 查看程序状态:
sudo supervisorctl status
通过以上步骤,你已经成功在Ubuntu系统上安装并配置了Supervisor来管理你的程序。Supervisor提供了一种简单而强大的方法来确保你的程序在崩溃或服务器重启后能够自动重启。
如果你希望通过Supervisor管理的程序在特定的文件夹(工作目录)内执行,你可以在Supervisor的配置文件中指定
directory
参数。这样,Supervisor会先切换到该目录,然后再执行command
指定的命令。这对于需要在其自身目录中运行的程序特别有用,比如一些需要读取相对路径文件的应用。下面是一个修改后的配置示例,展示了如何设置
directory
参数:[program:myprogram] command=/path/to/your/program directory=/path/to/your/program/directory autostart=true autorestart=true stderr_logfile=/var/log/myprogram.err.log stdout_logfile=/var/log/myprogram.out.log
在这个例子中,
directory=/path/to/your/program/directory
行指定了程序应当在哪个目录下执行。Supervisor会在启动程序之前切换到这个目录。
- 启动程序:
更新Supervisor配置
-
在修改了配置文件后,你需要执行以下步骤来让Supervisor应用这些更改:
-
让Supervisor重新读取配置文件:
sudo supervisorctl reread
-
更新Supervisor以应用配置变更:
sudo supervisorctl update
-
管理你的程序: 使用
supervisorctl
命令启动、停止、重启或查看你的程序状态。- 启动程序:
sudo supervisorctl start myprogram
- 查看程序状态:
sudo supervisorctl status
通过这种方式,你可以确保你的程序总是在正确的工作目录中执行,这对于路径敏感的应用来说非常重要。
- 启动程序:
-