💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 安装 ~~~SHELL yum install supervisor ~~~ # 设置开机启动 ~~~SHELL systemctl enable supervisord.service ~~~ # 配置文件 supervisord 的配置 文件是`/etc/supervisord.conf` 自定义配置文件目录是`/etc/supervisord.d`,该目录下文件已`.ini`为后缀 # 配置进程 例如有个nginx进程设置 ~~~SHELL vim /etc/supervisord.d/nginx.ini 内容如下 [program:nginx] ;directory = /www/lanmps/bin ; 程序的启动目录 command = /www/lanmps/bin/nginx start ; 启动命令,可以看出与手动在命令行启动的命令是一样的 autostart = true ; 在 supervisord 启动的时候也自动启动 startsecs = 5 ; 启动 5 秒后没有异常退出,就当作已经正常启动了 autorestart = true ; 程序异常退出后自动重启 startretries = 3 ; 启动失败自动重试次数,默认是 3 user = www ; 用哪个用户启动 redirect_stderr = true ; 把 stderr 重定向到 stdout,默认 false stdout_logfile_maxbytes = 20MB ; stdout 日志文件大小,默认 50MB stdout_logfile_backups = 20 ; stdout 日志文件备份数 ; stdout 日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord 会自动创建日志文件) stdout_logfile = /www/logs/usercenter_stdout.log stopasgroup=false ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程 killasgroup=false ;默认为false,向进程组发送kill信号,包括子进程 ; 可以通过 environment 来添加需要的环境变量,一种常见的用法是修改 PYTHONPATH ; environment=PYTHONPATH=$PYTHONPATH:/path/to/somewhere ~~~ [program:sms_1902] command = python /www/wwwroot/market_1802_api/market_1.py autostart = true startsecs = 5 autorestart = true startretries = 3 user = root redirect_stderr = true stdout_logfile_maxbytes = 20MB stdout_logfile_backups = 20 ;stdout 日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord 会自动创建日志文件) stdout_logfile = /www/wwwroot/market_1802.log stopasgroup=false killasgroup=false # supervisord 客户端管理命令 ~~~SHELL supervisorctl status # 状态 supervisorctl stop nginx #关闭 nginx supervisorctl start nginx #启动 nginx supervisorctl restart nginx #重启 nginx supervisorctl reread supervisorctl update #更新新的配置 ~~~ # 其他 ~~~SHELL supervisord:服务守护进程 supervisorctl:命令行客户端 ~~~