zoukankan      html  css  js  c++  java
  • python独角兽 Flask + Gunicorn

    1.构建程序运行所需的虚拟环境

    • 安装Miniconda
    • 创建虚拟环境
    • 添加程序运行依赖包
    • 添加Gunicorn依赖
    方式一:最简单的使用 easy_install 安装或者更新
      

     方式二:下载源码安装

    1 git clone git://github.com/benoitc/gunicorn.git
    2 cd gunicorn
    3 sudo python setup.py install

    如果想让Gunicorn支持异步 workers 的话需要安装一下三个python包

    1 easy_install -U greenlet
    2 easy_install -U eventlet
    3 easy_install -U gevent 

    2.调试阶段

    激活虚拟环境后运行下面命令

    # service为程序入口的py文件名, app是Flask应用名
    # service.py 中 app = Flask(__name__)
    gunicorn -w 4 -b 0.0.0.0:5000 service:app
    -w 是设置运行工作线程数
    -b 是设置监听IP和端口
    设置0.0.0.0:5000可以通过 服务器IP:5000在外部访问,也可以设置为127.0.0.1:5000本机监听访问。


    3.生产环境阶段

    生产环境下,要设置为守护进程及其他一些设置,这样不会在关闭服务器连接后程序挂掉。

    3.1添加配置文件gunicorn.conf

    # 并行工作线程数
    workers = 4
    # 监听内网端口5000【按需要更改】
    bind = '0.0.0.0:5000'
    # 设置守护进程【关闭连接时,程序仍在运行】
    daemon = True
    # 设置超时时间120s,默认为30s。按自己的需求进行设置
    timeout = 120
    # 设置访问日志和错误信息日志路径
    accesslog = './logs/acess.log'
    errorlog = './logs/error.log'

    3.2运行程序

    建立logs目录,激活环境后运行下面命令

    # gunicorn 运行模块名:应用名 -c 配置文件
    gunicorn service:app -c gunicorn.conf
  • 相关阅读:
    Android -- 桌面悬浮,仿360
    android 定时短信app之时间选择器(一)
    如何在Android中为TextView动态设置drawableLeft等
    装饰器3(装饰函数带参数)
    装饰器2(被装饰函数自带参数)
    装饰器1(被装饰函数不带参数)
    工资管理系统(初级实现)
    购物车程序
    python中read、readline、readlines之间的区别
    深复制与浅复制的区别
  • 原文地址:https://www.cnblogs.com/liyongsan/p/9962190.html
Copyright © 2011-2022 走看看