gunicorn 部署 flask

爱被打了一巴掌 2022-01-07 10:25 268阅读 0赞

安装

  1. pip install gunicorn
  2. pip install gevent # 如果要使用gevent模式
  3. pip install flask # 测试部署啊

编写一个小的flask应用

  1. # run.py
  2. from flask import Flask
  3. app = Flask(__name__)
  4. @app.route('/')
  5. def hello_world():
  6. return 'Hello World!'

启动测试

  1. gunicorn -w 2 -b 127.0.0.1:8000 run:app

使用配置文件形式 启动

  1. # config.py
  2. # 具体配置信息,可使用 gunicorn -h
  3. """ http://docs.gunicorn.org/en/stable/index.html https://www.jianshu.com/p/29467ce73972 https://www.jianshu.com/p/260f18aa5462 https://www.jianshu.com/p/6fc90cee7252 """
  4. import os
  5. import gevent.monkey
  6. gevent.monkey.patch_all()
  7. import multiprocessing
  8. # debug = True
  9. loglevel = 'debug'
  10. bind = "0.0.0.0:8000"
  11. pidfile = "log/gunicorn.pid"
  12. accesslog = "log/access.log"
  13. errorlog = "log/debug.log"
  14. daemon = True
  15. # 启动的进程数
  16. workers = multiprocessing.cpu_count()
  17. worker_class = 'gevent'
  18. x_forwarded_for_header = 'X-FORWARDED-FOR'

启动

  1. gunicorn -c config.py run:app

关闭

  1. # 查看PID号
  2. ps -ef | grep gunicorn
  3. # 或者 结合配置文件的 pidfile
  4. cat log/gunicorn.pid
  5. # 停止
  6. kill -9 PID
  7. # 重启
  8. kill -HUP PID

发表评论

表情:
评论列表 (有 0 条评论,268人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Flask + Gunicorn + Nginx 部署

    最近很多朋友都在问我关于 Flask 部署的问题,说实在的我很乐意看到和回答这样的问题,至少证明了越来越多人开始用 Flask 了。 之前我曾发表过一篇在 Ubuntu