您现在的位置是:主页 > news > 龙岗网络推广深圳网站建设/游戏推广赚佣金平台

龙岗网络推广深圳网站建设/游戏推广赚佣金平台

admin2025/4/29 0:27:16news

简介龙岗网络推广深圳网站建设,游戏推广赚佣金平台,网站公司网站定制,定制开发app价格我们在开发python的web服务时,经常会用flask、Django来启动一个服务,但是在部署服务的时候,例如测试服务,我们需要supervisor这样的工具来管理服务进程,方面更新代码时无感知重启项目等简单的配置进程如下:…

龙岗网络推广深圳网站建设,游戏推广赚佣金平台,网站公司网站定制,定制开发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   referrerpolicy=

修改成 ./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 停止服务