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

部署环境Ubuntu

使用工具Gunicorn + Gevent + Flask + docker + Pycharm

所有操作均在ubuntu下执行(Gunicorn + Gevent不支持win环境!)

首先先有一个Flask项目(python)

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

使用蓝图进行封装 / 下显示 {}

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

开启run.py文件

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

使用Gunicorn + Gevent 进行启动flask项目

pip install gunicorn gevent

安装时我出现了这样的问题

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

可以输入以下命令
sudo apt-get install python3.6-dev

下载完成后可以使用命令启动flask项目

gunicorn -w 4 -b 192.168.1.79:4000 run:app
【Python】使用Gunicorn + Gevent 部署Flask项目-ubuntu环境(docker打包)

-w 4是指预定义的工作进程数为4

-b 192.168.1.79:4000指绑定地址ip和端口

run是flask的启动python文件,app则是指flask应用程序实例

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

这样就证明gunicorn gevent 可以使用!!

接下来我们使用docker进行项目封装成镜像

首先文件目录会有

requirements.txt文件 - 项目所应用的包名写入
gunicorn.conf.py文件 - 定义gevent库及进程数量
Dockerfile文件 - docker打包镜像的命令步骤

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

requirements.txt文件

可以使用命令进行写入项目所需要的应用包
pip freeze > requirements.txt

gunicorn.conf.py文件

workers = 5        # 定义同时开启的处理请求的进程数量,根据网站流量适当调整

worker_class = "gevent" # 采用gevent库,支持异步处理请求,提高吞吐量

bind = "0.0.0.0:8080" # 这里8080可以随便调整

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

Dockerfile文件

FROM python:3.6

WORKDIR /usr/src/app

RUN apt-get update

RUN apt-get install -y python python-pip

RUN pip install --upgrade pip

COPY requirements.txt ./

RUN pip install -r requirements.txt

COPY . .

CMD ["gunicorn", "run:app", "-c", "./gunicorn.conf.py"]

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

找到项目的cmd路径进行docker打包生成镜像

输入命令:
docker build -t 'docker_flask' .
【Python】使用Gunicorn + Gevent 部署Flask项目-ubuntu环境(docker打包)

过程可能会非常漫长...(取决于你的项目环境包的多少)

看到这个就证明打包完成
【Python】使用Gunicorn + Gevent 部署Flask项目-ubuntu环境(docker打包)

接下来就是使用docker去启用flask项目

查看打包好的镜像
docker images
【Python】使用Gunicorn + Gevent 部署Flask项目-ubuntu环境(docker打包)

使用命令进行启动镜像
(为了防止8080端口占用可以用8088进行映射)
docker run -itd -p 8088:8080 docker_flask

-i   交互式操作

-t 终端

-d 后台运行

查看运行中的docker容器
docker ps
【Python】使用Gunicorn + Gevent 部署Flask项目-ubuntu环境(docker打包)

容器已经开启。可以使用本地ip + 8088进行测试
【Python】使用Gunicorn + Gevent 部署Flask项目-ubuntu环境(docker打包)

记得开启8088端口 - 可以同网段进行调试。
【Python】使用Gunicorn + Gevent 部署Flask项目-ubuntu环境(docker打包)
大功告成!

以上是 【Python】使用Gunicorn + Gevent 部署Flask项目-ubuntu环境(docker打包) 的全部内容, 来源链接: utcz.com/a/92068.html

回到顶部