部署环境Ubuntu
使用工具Gunicorn + Gevent + Flask + docker + Pycharm
所有操作均在ubuntu下执行(Gunicorn + Gevent不支持win环境!)
首先先有一个Flask项目(python)
使用蓝图进行封装 / 下显示 {}
开启run.py文件
使用Gunicorn + Gevent 进行启动flask项目
pip install gunicorn gevent
安装时我出现了这样的问题
可以输入以下命令sudo apt-get install python3.6-dev
下载完成后可以使用命令启动flask项目
gunicorn -w 4 -b 192.168.1.79:4000 run:app
-w 4是指预定义的工作进程数为4
-b 192.168.1.79:4000指绑定地址ip和端口
run是flask的启动python文件,app则是指flask应用程序实例
这样就证明gunicorn gevent 可以使用!!
接下来我们使用docker进行项目封装成镜像
首先文件目录会有
requirements.txt文件 - 项目所应用的包名写入
gunicorn.conf.py文件 - 定义gevent库及进程数量
Dockerfile文件 - docker打包镜像的命令步骤
requirements.txt文件
可以使用命令进行写入项目所需要的应用包pip freeze > requirements.txt
gunicorn.conf.py文件
workers = 5 # 定义同时开启的处理请求的进程数量,根据网站流量适当调整
worker_class = "gevent" # 采用gevent库,支持异步处理请求,提高吞吐量
bind = "0.0.0.0:8080" # 这里8080可以随便调整
Dockerfile文件
FROM python:3.6
WORKDIR /usr/src/app
RUN pip install --upgrade pip
COPY requirements.txt ./
RUN pip install -r requirements.txt
COPY . .
CMD ["gunicorn", "run:app", "-c", "./gunicorn.conf.py"]
进入root权限 ---- 以下都是root模式执行命令
su root
- 输入本机密码
找到项目的cmd路径进行docker打包生成镜像
输入命令:docker build -t 'docker_flask' .
过程可能会非常漫长...(取决于你的项目环境包的多少)
看到这个就证明打包完成
接下来就是使用docker去启用flask项目
查看打包好的镜像docker images
使用命令进行启动镜像
(为了防止8080端口占用可以用8088进行映射)docker run -itd -p 8088:8080 docker_flask
-i 交互式操作
-t 终端
-d 后台运行
查看运行中的docker容器docker ps
容器已经开启。可以使用本地ip + 8088进行测试
记得开启8088端口 - 可以同网段进行调试。
大功告成!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。