美文网首页
在宝塔中使用supervisor+logrotate+uvico

在宝塔中使用supervisor+logrotate+uvico

作者: 壹明_c63f | 来源:发表于2020-11-27 17:42 被阅读0次

使用uvicorn替代uwsgi部署django3服务

pip install uvicorn # 使用pip安装
uvicorn myproject.asgi:application 启动命令,asgi.py文件默认在settings.py文件同级目录。http://www.uvicorn.org/settings/ uvicorn 可配置host port worker等参数

supervisor管理uvicorn和日志

supervisor使用2.2版本

  • 名称 # 随意填写推荐使用项目名
  • 启动用户 # 推荐使用root
  • 运行目录 # 选择项目目录
  • 启动命令 # venv/bin/uvicorn --fd 0 myproject.asgi:application 使用python环境的bin目录,未安装虚拟环境或conda使用usr/bin/ 目录, 由supervisor统一管理服务端口必须加 --fd 0 参数
  • 进程数量 # 推荐使用核数*2

填完以上内容完成添加守护进程,进入子配置文件选择对应配置,myproject.ini

    [fcgi-program:myproject]  # 第一行必须修改为fcgi-program,默认为program
    socket=tcp://localhost:9987  # 第二行需要手动配置与nginx通信的端口
    command=venv/bin/uvicorn --fd 0 myproject.asgi:application
    directory=/home/projects/myproject/
    autorestart=true
    startsecs=3
    startretries=3
    stdout_logfile=/www/server/panel/plugin/supervisor/log/myproject.out.log #日志目录可改为/home/log
    stderr_logfile=/www/server/panel/plugin/supervisor/log/myproject.err.log
    stdout_logfile_maxbytes=0 # 默认超过2MB大小自动切割,推荐使用0不作切割,由其它工具切割,详细配置请看下文
    stderr_logfile_maxbytes=0
    user=root
    priority=999
    numprocs=4
    process_name=%(program_name)s_%(process_num)02d

使用logrotate进行日志管理按天备份

centos默认安装logrotate,若未安装请自行安装

  • 进入/etc/logrotate.d/目录创建自定义配置 # 推荐使用vim /etc/logrotate.d/superviosr-log
  • 进入文件使用如下配置
/www/server/panel/plugin/supervisor/log/*.log {  #日志目录,使用*通配所有.log后缀日志文件
    daily # 指定转储周期为每天
    rotate 200 # 指定日志文件删除之前的转储次数,200表示保留200次备份
    dateext # 使用日期为转储文件的后缀
    dateyesterday # 使用昨天日期作为文件后缀
    copytruncate # 用于还在打开中的日志文件,把当前日志备份再截断
    compress # 通过gzip压缩转储以后的日志
    missingok # 忽略错误
    notifempty #  如果没有日志 不进行轮询
}
  • logrotate -vf /etc/logrotate.d/log-file # 手动执行查看运行效果,logrotate默认执行计划在/etc/anacrontab ,一般会在每天的3点05分到3点50分之间执行
  • -f 强制轮询 -v 打印logrotate 日志

相关文章

网友评论

      本文标题:在宝塔中使用supervisor+logrotate+uvico

      本文链接:https://www.haomeiwen.com/subject/fxzxwktx.html