详解Supervisor使用教程
什么是Supervisor
Supervisor是一款Linux下的进程管理工具,可以很方便地监控和管理系统进程。使用Supervisor,可以很轻松地实现进程的自动重启、崩溃自动恢复、日志文件分割等功能。
安装Supervisor
安装Supervisor的方法因系统而异。
在Debian系系统下,可以使用如下命令安装:
sudo apt-get install supervisor
在CentOS系系统下,可以使用如下命令安装:
sudo yum install supervisor
安装完成后,使用如下命令启动Supervisor:
sudo supervisord
配置Supervisor
Supervisor的配置文件位于/etc/supervisord.conf
,可以使用如下命令编辑:
sudo vi /etc/supervisord.conf
在配置文件中可以定义需要管理的进程和日志文件路径等信息。示例:
[program:test_program]
command=/usr/bin/python3 /home/user/test_program.py
directory=/home/user/
autostart=true
autorestart=true
priority=1
stdout_logfile=/var/log/test_program.log
stdout_logfile_maxbytes=10MB
stderr_logfile=/var/log/test_program.log
stderr_logfile_maxbytes=10MB
以上配置文件定义了一个名为test_program
的进程,使用/usr/bin/python3 /home/user/test_program.py
命令启动,设置了自动启动和自动重启功能,并指定了日志文件路径和日志文件最大大小等参数。
在配置文件中可以定义多个进程和多个日志文件,一个进程一般对应一个配置节。
操作Supervisor
要查看当前Supervisor管理的所有进程的状态,可以使用如下命令:
sudo supervisorctl status
要查看某个特定进程的状态,可以使用如下命令:
sudo supervisorctl status test_program
要停止某个进程,可以使用如下命令:
sudo supervisorctl stop test_program
要重启某个进程,可以使用如下命令:
sudo supervisorctl restart test_program
示例说明
示例1
如果要管理一个Django项目的Gunicorn进程,可以使用以下配置:
[program:gunicorn]
command=/home/user/myprojectenv/bin/gunicorn myproject.wsgi
directory=/home/user/myproject/
user=user
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/gunicorn.log
stdout_logfile_maxbytes=10MB
stderr_logfile=/var/log/gunicorn.log
stderr_logfile_maxbytes=10MB
以上配置文件定义了一个名为gunicorn
的进程,使用/home/user/myprojectenv/bin/gunicorn myproject.wsgi
命令启动,在/home/user/myproject/
路径下运行,使用user
用户运行,设置了自动启动和自动重启功能,并指定了日志文件路径和日志文件最大大小等参数。
示例2
如果要管理一个Java程序,可以使用以下配置:
[program:my_java_program]
command=/usr/local/java/bin/java -jar /home/user/my_java_program.jar
directory=/home/user/
user=user
autostart=true
autorestart=true
stderr_logfile=/var/log/my_java_program.log
stdout_logfile=/var/log/my_java_program.log
以上配置文件定义了一个名为my_java_program
的进程,使用/usr/local/java/bin/java -jar /home/user/my_java_program.jar
命令启动,在/home/user/
路径下运行,使用user
用户运行,设置了自动启动和自动重启功能,并指定了日志文件路径参数。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解supervisor使用教程 - Python技术站