Flask——部署

本文采用CentOS7下用Nginx和uwsgi部署的方式

一、安装Python环境依赖

1、在本地的虚拟环境中,项目根目录下,执行命令收集所有包

pip freeze > plist.txt

2、上传项目到服务器的目录

scp 项目名 root@39.107.86.xxx:~

3、服务器安装Python虚拟环境

安装并创建虚拟环境猛击这里,如果已有则跳过此步

mkvirtualenv [虚拟环境名称]  # 创建虚拟环境
workon [虚拟环境名称]  # 切换到虚拟环境中

4、安装Python包

pip install -r plist.txt

二、uwsgi配置

uWSGI实现了WSGI的所有接口,是一个快速、自我修复、开发人员和系统管理员友好的服务器

uWSGI代码完全用C编写

1、安装uwsgi

pip3 install uwsgi

2、配置uWSGI,在项目中新建文件uwsgi.ini,编写如下配置

[uwsgi]

socket = 127.0.0.1:5000
; 启动程序时所使用的地址和端口,通常在本地运行flask项目,地址和端口是127.0.0.1:5000,
chdir = /root/NewsProject/app
; 项目的目录
wsgi-file = run.py
;flask程序的启动文件,通常在本地是通过运行
callable = app
;程序内启用的application变量名
processes = 4
;开启进程数
threads = 2
;每个进程开启线程数
stats = 127.0.0.1:9191
;获取uwsgi统计信息的服务地址
  • 启动:uwsgi --ini uwsgi.ini
  • 停止:uwsgi --stop uwsgi.pid
  • 重启:uwsgi --reload uwsgi.pid

三、nginx的配置

1、安装猛击这里

2、修改nginx的配置文件

vim /etc/nginx/conf.d/default.conf

3、配置新的location项,指向uwsgi的ip与端口

location /toutiao/ {
include uwsgi_params;
uwsgi_pass 127.0.0.1:5000;
uwsgi_param UWSGI_PYHOME /root/.virtualenvs/flask-news;
uwsgi_param UWSGI_CHDIR /root/NewsProject;
uwsgi_param UWSGI_SCRIPT manage:app;
}

4、配置静态文件位置

location /static/ {
alias /var/www/flask-news/static/;
}

部分参考于:这里

原文地址:https://www.cnblogs.com/x54256/p/8404074.html