在 Ubuntu 上安装和配置 Supervisor
在 Ubuntu 上安装和配置 Supervisor 的步骤如下:
1. 安装 Supervisor
Supervisor 可以通过 Ubuntu 的官方软件源直接安装:
sudo apt update
sudo apt install supervisor
2. 启动 Supervisor 服务
安装完成后,Supervisor 会自动启动。如果没有启动,可以手动运行:
sudo systemctl start supervisor
3. 设置开机自启
sudo systemctl enable supervisor
4. 检查运行状态
sudo systemctl status supervisor
如果显示 active (running)
,说明 Supervisor 正在运行。
5. 配置 Supervisor
Supervisor 的配置文件通常位于 /etc/supervisor/
目录:
- 主配置文件:/etc/supervisor/supervisord.conf
(一般不需要修改)
- 自定义进程配置:放在 /etc/supervisor/conf.d/
目录下,以 .conf
结尾。
示例:配置一个 Python 程序
假设你要守护一个 Python 脚本 /home/user/myapp/main.py
,可以创建一个配置文件:
sudo nano /etc/supervisor/conf.d/myapp.conf
填入以下内容:
[program:myapp]
command=python3 /home/user/myapp/main.py ; 要执行的命令
directory=/home/user/myapp ; 程序的工作目录
user=user ; 运行程序的用户
autostart=true ; 随 Supervisor 启动
autorestart=true ; 崩溃后自动重启
stderr_logfile=/var/log/myapp.err.log ; 错误日志
stdout_logfile=/var/log/myapp.out.log ; 输出日志
6. 重新加载配置
修改配置后,让 Supervisor 重新加载:
sudo supervisorctl reread
sudo supervisorctl update
7. 管理进程
- 查看所有进程状态:
bash sudo supervisorctl status
- 启动/停止某个进程:
bash sudo supervisorctl start myapp sudo supervisorctl stop myapp
- 重启所有进程:
bash sudo supervisorctl reload
8. 可选:Web 界面(如果需要)
Supervisor 提供一个简单的 Web 管理界面,可以编辑主配置文件启用:
sudo nano /etc/supervisor/supervisord.conf
找到并取消注释以下内容:
[inet_http_server]
port=0.0.0.0:9001
username=user ; 自定义用户名
password=123 ; 自定义密码
然后重启 Supervisor:
sudo systemctl restart supervisor
访问 http://<服务器IP>:9001
即可进入管理界面。
常见问题
-
日志权限问题
如果日志文件无法写入,检查目录权限:bash sudo chown -R user:user /var/log/myapp*
-
配置错误检查
使用sudo supervisorctl tail myapp stderr
查看错误日志。 -
Supervisor 未启动
检查日志:bash sudo journalctl -u supervisor -f