ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

supervisor 安装配置

2021-01-07 14:01:16  阅读:231  来源: 互联网

标签:supervisor supervisord 配置文件 配置 program conf logfile 安装


1. 安装supervisor

[root@ilaus app]# pip install supervisorctl

2. 创建配置文件

一旦Supervisor安装完成,运行 echo_supervisord_conf。将打印一个“示例”Supervisor配置文件到终端的stdout。

一旦您看到文件回显到您的终端,再 root 权限下请调用命令: echo_supervisord_conf > /etc/supervisord.conf

如果没有root访问权限,或者您不想将 supervisord.conf 文件放在 /etc/supervisord.conf 中,则可以将其放在当前目录(echo_supervisord_conf > supervisord.conf)中,并使用 -c 标志来启动 supervisord 以指定配置文件位置。

创建号配置文件后就可以修改工作了。 

3. 运行supervisor

修改BINDIR, 在安装 python 时通过 ./configure --prefix=/usr/local/py; make; make install 来指定python 解释器使用不同的bindir,修改--prefix 的值可以修改bindir, eg: 当前的 bindir 为 /usr/local/py/bin

添加program

[program:foo]
command=/bin/cat

启动supervisor

[root@ilaus etc]# supervisord

配置文件

supervisor的配置文件通常命名为supervisord.conf, 它被supervisord和supervisorctl使用。任一应用程序在没有 -c 的选项下启动, 则按照下列方式依次查找 supervisord.conf 文件。supervisord.conf 的文件风格为 Windows - INI 风格。它具有部分键/值对。

$CWD/supervisord.conf

$CWD/etc/supervisord.conf

/etc/supervisord.conf

/etc/supervisor/supervisord.conf (自Supervisor 3.3.0之后)

../etc/supervisord.conf (相对于可执行文件)

../supervisord.conf (相对于可执行文件)

supervisord 启动时存在于环境中的环境变量可以在配置文件中使用 Python 字符串表达式语法 %(ENV_X)s

[program:example]
command=/usr/bin/example --loglevel=%(ENV_LOGLEVEL)s

supervisord 配置文件, 具体参数情况查看 supervisor 配置文件 RD 文档

[unix_http_server] 节设置:

supervisord.conf 文件包含一个名为 [unix_http_server] 的节, 应该插入在 unix (socket) 套接字上监听 HTTP 服务器的配置参数。

[inet_http_server] 节设置:

supervisord.conf 文件包含一个名为 [inet_http_server] 的节, 应插入在tcp 套接字上监听http服务器的配置参数。

[supervisord] 节设置

[supervisord] 是于supervisord 进程相关的全局设置。eg: 

[supervisord]
logfile = /tmp/supervisord.log
logfile_maxbytes = 50MB
logfile_backups=10
loglevel = info
pidfile = /tmp/supervisord.pid
nodaemon = false
minfds = 1024
minprocs = 200
umask = 022
user = chrism
identifier = supervisor
directory = /tmp
nocleanup = true
childlogdir = /tmp
strip_ansi = false
environment = KEY1="value1",KEY2="value2"

[supervisorctl] 节设置

包含 supervisorctl 交互式 shell 程序的设置。

[supervisorctl]
serverurl = unix:///tmp/supervisor.sock
username = chris
password = 123
prompt = mysupervisor

[program:x] 节设置

设置supervisord 启动和控制的程序。

command 启动时运行的命令, command 的值可以包括Python字符串表达式,例如 /path/to/programname --port=80%(process_num)02d 可能在运行时扩展为 /path/to/programname --port=8000。字符串表达式将根据包含密钥 group_namehost_node_nameprocess_numprogram_namehere (超级用户配置文件的目录)的字典以及所有以 ENV_ 为前缀的环境变量进行求值。

eg:

[program:cat]
command=/bin/cat
process_name=%(program_name)s
numprocs=1
directory=/tmp
umask=022
priority=999
autostart=true
autorestart=unexpected
startsecs=10
startretries=3
exitcodes=0,2
stopsignal=TERM
stopwaitsecs=10
stopasgroup=false
killasgroup=false
user=chrism
redirect_stderr=false
stdout_logfile=/a/path
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB
stdout_events_enabled=false
stderr_logfile=/a/path
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB
stderr_events_enabled=false
environment=A="1",B="2"
serverurl=AUTO

 

标签:supervisor,supervisord,配置文件,配置,program,conf,logfile,安装
来源: https://blog.csdn.net/weixin_41632383/article/details/112304881

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有