flask部署

Posted 雾灯与河灯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask部署相关的知识,希望对你有一定的参考价值。

  1. gunicorn 高性能WSGI服务器

  2. gevent 异步协程库

  3. supervisor 监控服务进程工具

  4. nginx 监控服务进程的工具


   1.安装虚拟环境库 pip install virtualenv

   2.创建虚拟环境 virtualenv test

   3.激活环境 source source/activate

   4.安装flask库 pip install flask -i https://pypi.douban.com/simple()

   5.安装gunicorn pip install gunicorn

   6.测试运行 gunicorn -w 4 -b 0.0.0.0:5000 app:app (也可通过配置文件gunicorn.py来运行)

配置文件如下:

#gunicorn.conf

# 并行工作线程数

workers = 4

# 指定每个工作者的线程数

threads = 2

# 设置守护进程,将进程交给supervisor管理

daemon = 'false'

# 工作模式协程

worker_class = 'gevent'

# 设置最大并发量

worker_connections = 2000

# 设置进程文件目录

#pidfile = '/var/run/gunicorn.pid


# 监听内网端口5000【按需要更改】

bind = '127.0.0.1:5000'

# 设置守护进程【关闭连接时,程序仍在运行】

#daemon = True

# 设置超时时间120s,默认为30s。按自己的需求进行设置

timeout = 30

# 设置访问日志和错误信息日志路径

accesslog = './logs/acess.log'

errorlog = './logs/error.log'

# 设置日志记录水平

loglevel = 'warning'


   7.安装gevent pip install gevent

   8.测试运行 gunicorn -w 4 -k gevent -b 0.0.0.0:5000 app:app

   9.安装supervisor pip install supervisor

   10.生成配置文件 echo_supervisord_conf > /etc/test/supervisor.conf

   11.配置supervisor文件


配置文件如下:

[program:app]

command=gunicorn -c /usr/test/gunicorn.py app:app ; gun启动命令

directory=/usr/test                                           ; 项目的文件夹路径

startsecs=0                                                                             ; 启动时间

stopwaitsecs=0                                                                   ; 终止等待时间

autostart=false                                                                    ; 是否自动启动

autorestart=false                                                                 ; 是否自动重启

stdout_logfile=/usr/test/logs/gunicorn.log                           ; log 日志

stderr_logfile=/usr/test/logs/gunicorn.err 


   12.启动supervisor服务器 supervisord -c supervisor.conf

   13.启动supervisor客户端 supervisorctl -c supervisor.conf

   14.安装nginx yum -y nginx

   15.配置nginx文件

配置文件如下:

listern 8889 #端口号改动

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

   16.配置supervisor文件


配置文件如下:

[program:nginx]

command=/usr/sbin/nginx -c /etc/nginx/nginx.conf -g 'daemon off;' ;前台运行

directory=/usr/test ;项目的文件夹路径

startsecs=0 ;启动时间

stopwaitsecs=0 ;终止等待时间

autostart=true ;是否自动启动

autorestart=true ;是否自动重启

stdout_logfile=/usr/test/logs/nginx.log ;log日志

stderr_logfile=/usr/test/logs/nginx.err ;error日志


   17.启动supervisor监控

   18.测试访问 (端口打开)

   

以上是关于flask部署的主要内容,如果未能解决你的问题,请参考以下文章

Flask容器化部署原理与实现

如何部署Apache2+mod_wsgi+flask?

Ubuntu18部署uwsgi+flask应用

gunicorn部署Flask服务

一周掌握Flask框架学习笔记Flask项目部署(使用gunicorn和nginxuWSGI和nginx两种部署方式)

flask 部署