flask部署
Posted 雾灯与河灯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask部署相关的知识,希望对你有一定的参考价值。
gunicorn 高性能WSGI服务器
gevent 异步协程库
supervisor 监控服务进程工具
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部署的主要内容,如果未能解决你的问题,请参考以下文章