当前位置: 首页 > 后端技术 > Python

使用Gunicorn+Gevent部署Flask项目-ubuntu环境(docker打包)

时间:2023-03-26 12:58:03 Python

部署环境Ubuntu使用工具Gunicorn+Gevent+Flask+docker+Pycharm所有操作均在ubuntu下进行(Gunicorn+Gevent不支持win环境!)首先ofall有个Flask项目(python)使用蓝图进行封装/下显示{}打开run.py文件,使用Gunicorn+Gevent启动flask项目pipinstallgunicorngevent安装的时候出现这样的问题。可以输入以下命令sudoapt-getinstallpython3.6-dev下载完成后可以使用命令启动flask项目gunicorn-w4-b192.168.1.79:4000run:app-w4表示预定义的工作进程数为4-b192.168.1.79:4000表示绑定指定地址ip和端口run为flask的启动python文件,app指的是flask应用实例,证明可以使用gunicorngevent!!接下来我们使用docker将项目打包成镜像。首先文件目录会有一个requirements.txt文件——项目申请的包名写入gunicorn.conf.py文件——定义gevent库和进程数Dockerfile文件——docker打包镜像的命令步骤requirements.txt文件可以使用命令编写项目需要的应用包pipfreeze>requirements.txtgunicorn.conf.pyfileworkers=5#定义同时打开的处理请求的进程数,调整worker_class="gevent根据网站流量适当"#使用gevent库,支持异步处理请求,提高吞吐量bind="0.0.0.0:8080"#这里8080可以调整Dockerfile文件FROMpython:3.6WORKDIR/usr/src/appRUNpipinstall--upgradepipCOPY要求。txt./运行pip安装-rrequirements.txtCOPY。.CMD["gunicorn","run:app","-c","./gunicorn.conf.py"]进入root权限----以下为root模式执行命令suroot-输入本机密码找到项目的cmd路径,打docker包生成镜像。输入命令:dockerbuild-t'docker_flask'。过程可能会很长……(取决于你的项目环境有多少个包)看到这里就证明了打包完成后,接下来就是使用docker来开启flask项目,查看打包后的镜像dockerimages。使用命令启动镜像(为了防止8080端口被占用,可以使用8088做映射)dockerrun-itd-p8088:8080docker_flask-i交互操作-tTerminal-d后台运行到查看正在运行的docker容器。dockerps容器已经打开。可以使用本机ip+8088进行测试。记得打开8088端口——同网段就可以调试了。你完成了!