yum install epel-release
yum install supervisor
apt-get install supervisor
Supervisor 的主配置文件位于 /etc/supervisord.conf,但通常我们会在 /etc/supervisord.d/ 目录下为每个服务创建单独的配置文件。如果没有则创建
echo_supervisord_conf > /etc/supervisord.conf
echo "files =/etc/supervisord.d/*.conf" >> /etc/supervisord.conf
#启动服务
supervisord -c /etc/supervisord.conf
示例:部署一个 Python 服务
假设你有一个 Python 服务脚本 /opt/myapp/app.py,需要将其部署为 Supervisor 管理的服务。
创建配置文件:
在 /etc/supervisord.d/ 目录下创建一个新的配置文件,例如 myapp.conf:
添加服务配置:
在 myapp.conf 中添加以下内容:
vi /etc/supervisord.d/myapp.conf
[program:myapp]
command=python3 /opt/myapp/app.py ; 启动命令
directory=/opt/myapp ; 工作目录
autostart=true ; 是否随 Supervisor 启动
autorestart=true ; 是否自动重启
stderr_logfile=/var/log/myapp.err.log ; 错误日志
stdout_logfile=/var/log/myapp.out.log ; 输出日志
user=myuser ; 运行服务的用户
environment=PYTHONPATH="/opt/myapp" ; 环境变量
重新加载 Supervisor 配置:
保存配置文件后,重新加载 Supervisor 配置:
supervisorctl reread
supervisorctl update
启动服务:
启动服务并查看状态:
supervisorctl start myapp
supervisorctl status
启动服务:
supervisorctl start <服务名>
停止服务:
supervisorctl stop <服务名>
重启服务:
supervisorctl restart <服务名>
查看服务状态:
supervisorctl status
重新加载配置:
supervisorctl reread
supervisorctl update
查看日志:
Supervisor 会记录服务的输出和错误日志,路径在配置文件中指定。例如:
tail -f /var/log/myapp.out.log