首页 > 其他 > 详细

Flask 从开发到部署

时间:2021-05-04 17:30:35      阅读:22      评论:0      收藏:0      [点我收藏+]

 

整理一下怎么开发flask程序应部署到生产环境中

 

1. 第一个flask 程序 myapp.py

 

from flask import Flask

app = Flask(__name__)

@app.route(‘/‘)
def index():
    return ‘Hi! It works!‘

if __name__==‘__main__‘:
    app.run(host=‘0.0.0.0‘)

 

 

 运行: 

python myapp.py

 

通过浏览器访问 http://localhost:5000. 5000是flask默认端口. 我们的目标是产品化部署,这样未免太简单了,还有很多问题待解决. 1. 这个程序是同步的,如果一个API请求IO阻塞了,就不响应后续请求了,2. flask自带的web server是调试用的,不适合做产品server.  这就需要用gunicorn 来启动多进程来跑.

 

 2. Gunicorn 运行 flask 程序

我在win10 powershell 里运行的,pip install gunicorn 后运行 

gunicorn -w 4 myapp:app

报错了,查了下gunicorn 不支持在windows. 

技术分享图片

 

 那再试下windows下的WSL2, ubuntu 下安装了pip3,Flask, gunicorn 后运行如下,可以看到flask 自带的server(5000端口)已经换成了gunicorn server了(8000端口)

技术分享图片

 

 

2. 做一个docker image,把刚才的flask 放进docker 运行

 

 

 

Ref:

  1. https://blog.csdn.net/guolindonggld/article/details/83386920
  2. https://docs.docker.com/get-started/06_bind_mounts/
  3. https://blog.csdn.net/u012308586/article/details/102953882 换ubuntu 源
  4. https://blog.csdn.net/qq_35759574/article/details/82842637 换ubuntu源
  5. https://blog.csdn.net/weixin_39394526/article/details/87937645 遇到cannot import name ‘sysconfig‘问题看这个文章
  6. https://blog.csdn.net/h106140873/article/details/90752725 Docker 重启时保证container 重启用--restart=always, container恢复不重启用 =no
  7. https://blog.csdn.net/qq_27575627/article/details/73470120

Flask 从开发到部署

原文:https://www.cnblogs.com/mashuai-191/p/14729699.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!