Docker 部署 Flask
最近在用 Monorepo => (Flask + React) + (Python + TypeScript) 写一些自己东西,记于此,温故而知新
WSGI Server
Python 项目不同于其他服务例如 javax.servlet.Servlet \ Go \ PHP 等 ,Python 是 WSGI 即 (Python Web Server Gateway Interface) Python Web服务器网关接口
Gunicorn \ Gevent
- Gunicorn ‘Green Unicorn’ 是一个 UNIX 下的 WSGI HTTP 服务器,它是一个 移植自 Ruby 的 Unicorn 项目的 pre-fork worker 模型。它既支持 eventlet , 也支持 greenlet
- Gevent 是一个 Python 并发网络库,它使用了基于 libev 事件循环的 greenlet 来提供一个高级同步 API
Gunicorn 给 WSGI 组件提供服务器功能,Gunicorn 默认使用同步阻塞的网络模型(-k sync),对于大并发的访问可能表现不够好,Gevent来增加并发量,这就组成一个 “高性能” 服务器
我们利用 Gunicorn \ Gevent 来组件我们生产环境下的应用 Server
Docker
这个没什么好说的 —— 容器服务 来提供 Server 的环境运行时</