您现在的位置是:主页 > news > 龙岗网络推广深圳网站建设/游戏推广赚佣金平台
龙岗网络推广深圳网站建设/游戏推广赚佣金平台
admin2025/4/29 0:27:16【news】
简介龙岗网络推广深圳网站建设,游戏推广赚佣金平台,网站公司网站定制,定制开发app价格我们在开发python的web服务时,经常会用flask、Django来启动一个服务,但是在部署服务的时候,例如测试服务,我们需要supervisor这样的工具来管理服务进程,方面更新代码时无感知重启项目等简单的配置进程如下:…
我们在开发python的web服务时,经常会用flask、Django来启动一个服务,但是在部署服务的时候,例如测试服务,我们需要supervisor这样的工具来管理服务进程,方面更新代码时无感知重启项目等
简单的配置进程如下:
安装supervisor
pip install supervisor
运行 echo_supervisord_conf 查看是否可以使用,可能存在问题
-bash: echo_supervisord_conf: command not found
会因为安装的目录不再PATH,需要把bin目录添加到PATH
vim ~/.bashrc
export PATH="/home/{user}/.local/bin:$PATH"
source ~/.bashrc
运行创建配置文件,
echo_supervisord_conf>/etc/supervisord.conf # /etc 目录
echo_supervisord_conf > supervisord.conf # 如果没有root权限,选择当前项目目录
这里我选择当前目录,vi supervisord.conf, 这点在没有root权限的服务器上非常好使
修改unix_http_server
修改成 ./tmp/supervisor.sock
[supervisord]
logfile=./tmp/supervisord.log ; main log file; default $CWD/supervisord.log
logfile_maxbytes=50MB ; max main logfile bytes b4 rotation; default 50MB
logfile_backups=10 ; # of main logfile backups; 0 means none, default 10
loglevel=info ; log level; default info; others: debug,warn,trace
pidfile=./tmp/supervisord.pid ; supervisord pidfile; default supervisord.pid
后面需要使用 supervisorctl 查看服务状态,所以也需要修改supervisorctl的配置
serverurl=unix://./tmp/supervisor.sock ; use a unix:// URL for a unix socket
include 添加(删除include前面的分号)
[include]
files = conf.d/*.conf
创建目录以及文件
mkdir tmp
touch tmp/supervisord.log
touch tmp/supervisord.pid
touch tmp/supervisor.sock
mkdir conf.d
touch conf.d/app.conf, 并配置该文件
[program:your_program_name]
command=python3 app.py
startsecs=0
stopwaitsecs=0
autostart=true
autorestart=true
stdout_logfile=./logs/out.log
stderr_logfile=./logs/err.logstartsecs: 项目启动后认为项目启动成功,变更进程启动状态从STARTING到RUNNING的秒数,默认是1s;
stopwaitsecs: 发出stop指令以后,等待进程结束信号的时间,默认10s,如果当前时间内没有收到进程终止信号,直接进行kill
redirect_stderr: 默认值是false,设置为true的时候,进程的标准错误输出内容会被写入supervisord的标准输出stdout文件里;
创建logs文件
mkdir logs
touch logs/out.log
touch logs/err.log
现在启动服务
supervisord
查看进程
ps ax|grep supervisor
使用supervisorctl 查看服务状态
supervisorctl status
结果类似于这样
xxx RUNNING pid 810, uptime 0:07:56
supervisorctl restart XXX 重启服务
supervisorctl stop XXX 停止服务