简介

Gunicorn来源于Ruby的unicorn项目,是一个Python WSGI HTTP Server,通过pre-fork worker模型来管理和维护worker。

简而言之就是通过多进程管理应用服务器,实现了对WSGI的功能拓展,比如IO处理模型是同步还是异步、轮询机制、请求限制等等。

配置

参数配置


Supervisor

我们知道Gunicorn是一个wsgi服务器,它通过一个主进程控制、管理请求,但是如果这个主进程挂了怎么办?这就好比我们使用nohup在后台运行一个应用服务器,但是如果主机重启或其他异常导致后台进程挂了,我们是不可能及时重启服务器的。

这时Supervisor就很有用了,Supervisor是一个进程管理软件,它可以根据你的要求执行命令行命令,设置log日志,自动重启挂掉的进程。

通常是Supervisor与Gunicorn一起使用。

配置

# program.conf
[program:<program name>]
command=/usr/local/bin/gunicorn wsgi --bind <ip:port> --workers <2 * cpucores + 1> --worker-class gevent
directory=<program directory>
autostart=true
autorestart=true
stdout_logfile=<stdoutlog directory>
stderr_logfile=<stderrlog directory># supervisor 中文 bug
environment=LANG="en_US.utf8", LC_ALL="en_US.UTF-8", LC_LANG="en_US.UTF-8"
# 建立一个软链接
ln -s -f program.conf /etc/supervisor/conf.d/program.conf
# 重启supervisor以开启服务
service supervisor restart

转载于:https://www.cnblogs.com/ikct2017/p/9614029.html

Gunicorn、Supervisor相关推荐

  1. 使用Gunicorn Ngnx Supervisor部署Django项目

    Django作为最受欢迎基于Python的Web框架之一,为用户提供了一个轻量级的测试Server,但这个Server最好不要用于生产环境.那么如果我们需要在生产环境上面部署Django项目,那么我们 ...

  2. 一起学ASP.NET Core 2.0学习笔记(一): CentOS下 .net core2 sdk nginx、supervisor、mysql环境搭建...

    作为.neter,看到.net core 2.0的正式发布,心里是有点小激动的,迫不及待的体验了一把,发现速度确实是快了很多,其中也遇到一些小问题,所以整理了一些学习笔记: 阅读目录 环境说明 安装C ...

  3. 【flask】适合生产环境的高并发部署方案(gunicorn + gevent + supervisor)

    文章目录 1.安装docker镜像 2.查看alphin版本 3.更换alpine源 4.更换pip源 5.安装requirements.txt 6.安装完成 7.启动flask应用 8.用gunic ...

  4. 阿里云后台部署全过程-3-mysql、supervisor初始化

    本文已收录至我的个人网站:阿里云后台部署全过程-3-mysql.supervisor初始化 mysql是我用的关系数据库,是主流数据库之一. supervisor是一个进程管理工具,.py后缀的Pyt ...

  5. Flask部署| gunicorn、nginx部署flask项目,并用supervisor来管理进程

    本科的时候做公众号,开始提供学生教务查询服务,后端从PHP转到Python,无论是使用django还是flask,部署都没PHP那么方便,每次修改程序完,都是ps ax,然后再kill,再run.em ...

  6. gunicorn、uwsgi、uvicorn认识

    文章目录 一.概述 1.1 背景 二.详情 2.1 uwsgi_pass与uwsgi 2.2 proxy_pass 与gunicorn 2.3 uvicorn 三.总结 一.概述 1.1 背景 在使用 ...

  7. OTP行为模式浅析之(gen_server、application、supervisor)

    行为模式是面向进程编程中各种常见模式的一种形式化表述.OTP行为模式将Erlang进程执行的代码分为库模块和实现模块.在开发标准.并发.容错的OTP代码时,大部分的复杂性都可以靠行为模式来消解. 行为 ...

  8. CentOS7部署Flask+Gunicorn+Nginx+Supervisor

    1. Git客户端 Win10安装git for windows 1.1 设置Git全局参数 打开Git Bash $ git config --global user.name "Alic ...

  9. linux进程管理工具supervisor安装卸载、子配置文件详解、遇到的问题、supervisor group群组管理、启动一个springboot项目示例、update命令注意点

    简介 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启. 它是通过fork/exec的方式把这些被管 ...

最新文章

  1. OpenCV图像坐标系与行列宽高的关系
  2. 15.3. REST
  3. Gradle 设置本地maven
  4. 数据分析进阶 数据质量
  5. Linux 下解压文件命令大全
  6. java oom dump_JVM 在遇到OOM(OutOfMemoryError)时生成Dump文件的三种方式
  7. centos7 配置静态ip时出现双ip问题解决
  8. 利用layui前端框架实现对不同文件夹的多文件上传
  9. 层次分析法AHP - 代码注释多 - ( 数据建模 Python代码)
  10. 加密模式 openssl sm4_OpenSSL/GmSSL 动态引擎
  11. epson连接计算机后无法打印,如何解决连接到Epson打印机后计算机无法打印的问题...
  12. [转载]关于CIPS不得不知道的14个要点
  13. 【论文笔记】UBR4CTR:User Behavior Retrieval for Click-Through Rate Prediction (SIGIR 20)
  14. STM32+Air202+Air530+HXDZ-30102-ACC心率血氧GPS采集上传到阿里云
  15. 用计算机亩换算成平方,平方换算亩计算器(农村土地面积计算公式)
  16. WEB安全之DIV CSS基础(二):文字和文本的属性、列表样式和伪类超链接
  17. 西门子200smart模拟量滤波防抖PLC程序,能实现电流电压和热电阻模拟量信号的采集
  18. Android Studio连接安卓手机驱动
  19. 如何给.txt标签文件添加噪声
  20. 投资组合优化的人工蜂群算法(Matlab代码实现)

热门文章

  1. 一文了解下一代互联网核心技术HTTP/3及技术发展
  2. 第七节 可执行程序的装载——20135203齐岳
  3. java身份证工具类(校验身份证是否合法、通过身份证获取年龄、性别、生日,将15位身份证转为18位等)
  4. 使用FFmpeg进行屏幕录像和录音
  5. html一条竖线写法
  6. 如何利用设备管理系统做好设备预防维护保养工作?
  7. html5 语音输入小话筒,HTML5语音输入方法
  8. 基于Java--获取城市天气与给手机发送验证码--HTTP协议实践
  9. bug---springboot报错Consider the following: If you want an embedded database (H2, HSQL
  10. 详解SQL中几种常用的表连接方式!