Supervisor部署
  DHYJHYdhPmql 2023年11月02日 34 0

1、Supervisor 介绍

  1. 进程监控:Supervisor 可以监控指定的进程,并在进程异常终止或意外退出时进行自动重启。它可以通过轮询或使用事件通知机制来监控进程状态。
  2. 进程控制:Supervisor 提供了一组命令行工具和 API,用于管理进程的启动、停止、重启、重新加载配置等操作。你可以通过这些接口与 Supervisor 进行交互,管理你的进程。
  3. 进程组织:Supervisor 可以将多个相关的进程组织在一起,并按照定义的顺序依次启动或停止它们。这样可以方便地管理复杂的应用程序,确保它们正确地启动和关闭。
  4. 日志管理:Supervisor 可以收集和管理被监控进程的日志输出。你可以配置日志文件的位置和格式,并使用内置的日志查看器来查看和检索日志信息。
  5. 配置灵活:Supervisor 的配置文件是通过 INI 格式进行定义的,你可以根据需要指定进程的启动命令、工作目录、环境变量、启动优先级等各种参数。

2、supervisor 安装

1.安装supervisor依赖
# CentOS 6.7系统
cat /etc/redhat-release 
CentOS release 6.7 (Final)

# 安装环境setuptools
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-12.0.3.tar.gz
tar xf setuptools-12.0.3.tar.gz
cd setuptools-12.0.3
python setup.py install

#下载meld
wget https://pypi.python.org/packages/45/a0/317c6422b26c12fe0161e936fc35f36552069ba8e6f7ecbd99bbffe32a5f/meld3-1.0.2.tar.gz#md5=3ccc78cd79cffd63a751ad7684c02c91
tar zxvf meld3-1.0.2.tar.gz
cd meld3-1.0.2
python setup.py install
ldconfig
2.安装Supervisor
# 下载supervisor安装包
wget https://pypi.python.org/packages/7b/17/88adf8cb25f80e2bc0d18e094fcd7ab300632ea00b601cbbbb84c2419eae/supervisor-3.3.2.tar.gz
tar -zxvf supervisor-3.3.2.tar.gz
cd supervisor-3.3.2
python setup.py install
ldconfig

# 手动生成配置文件
echo_supervisord_conf > /etc/supervisord.conf
# 执行报错
File "/usr/bin/echo_supervisord_conf", line 5, in <module>
#下载meld
wget https://pypi.python.org/packages/45/a0/317c6422b26c12fe0161e936fc35f36552069ba8e6f7ecbd99bbffe32a5f/meld3-1.0.2.tar.gz#md5=3ccc78cd79cffd63a751ad7684c02c91
tar zxvf meld3-1.0.2.tar.gz
cd meld3-1.0.2
python setup.py install
ldconfig
#再次执行生成配置文件成功:
echo_supervisord_conf > /etc/supervisord.conf

# 启动(supervisord直接启动使用默认配置文件,或者-c 指定配置文件启动)
supervisord
supervisord -c /etc/supervisord.conf
3.如果运行以下报错
# 报错内容
from setuptools import setup, find_packages 
ImportError: No module named setuptools
# 解决方法
下载:
在它的官网可以下载到安装包:
https://pypi.python.org/pypi/setuptools
下载路径:
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-12.0.3.tar.gz
tar xvf setuptools-12.0.3.tar.gz
cd setuptools=12.0.3
python setup.py install

4、创建启动文件

# 设置该脚本为可以执行
chmod +x /etc/init.d/supervisord
# 设置为开机自动运行
sudo update-rc.d supervisord defaults
# 试一下,是否工作正常
service supervisord stop
service supervisord start

5、Supervisor 中创建一个任务

编辑配置文件:Supervisor 的配置文件位于 /etc/supervisor/conf.d/ 目录下,你可以在该目录中创建一个新的配置文件来定义你的任务。例如,你可以创建一个名为 mytask.conf 的文件。

[program:mytask]
command=/path/to/your/command
directory=/path/to/your/directory
user=yourusername
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/path/to/your/logfile

在这个配置文件中,你需要提供以下信息:

  • program:mytask:定义任务的名称。
  • command:指定要运行的命令或脚本的完整路径。
  • directory:指定命令应该在哪个目录中执行。
  • user:指定以哪个用户身份来启动任务。
  • autostart:设置为 true 表示当 Supervisor 启动时自动启动任务。
  • autorestart:设置为 true 表示当任务意外终止时自动重启。
  • redirect_stderr:设置为 true 表示将标准错误输出重定向到日志文件。
  • stdout_logfile:指定保存任务标准输出的日志文件路径。

根据你的需求,你可以进一步定制配置文件中的其他参数。

重新加载配置:在保存配置文件后,使用以下命令重新加载 Supervisor 的配置:

sudo supervisorctl reread
sudo supervisorctl update

6、常用启动命令

# 停止supervisor服务
sudo service supervisor stop
# 启动supervisor服务
sudo service supervisor start
# 关闭所有任务
supervisorctl shutdown
# 启动或停止服务
supervisorctl stop|start program_name
# 查看所有任务状态
supervisorctl status
# 读取有更新(增加)的配置文件,不会启动新添加的程序,也不会重启任何程序
supervisorctl reread
# 载入最新的配置文件,停止原有的进程并按照新的配置启动
supervisorctl reload
# 重启配置文件修改过的程序,配置没有改动的进程不会收到影响而重启
supervisorctl update
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: Prometheus 下一篇: Nginx 快速集成免费 WAF
  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  9JCEeX0Eg8g4   2023年11月25日   42   0   0 ednpython
  P3nxyT0LRuwj   2023年11月24日   70   0   0 缓存redis配置文件
  9JCEeX0Eg8g4   2023年12月11日   26   0   0 mysql配置文件