部署Flask项目和部署Django项目基本一致,我们也使用uwsgi+nginx
我们在部署Django项目基础上部署Flask项目
1, 将uwsgi.ini 文件拖入TPP项目工程目录下, 和manage.py 同一个目录
2, 将Flask项目配置
a, 改成product环境
b, 修改ajax请求的接口路径为相对路径
3, 在mysql中创建Flask项目对应的数据库tpp
create database tpp charset=utf8;
4, 创建虚拟环境
mkvirtualenv FlaskTPP
5, 在虚拟环境下安装uwsgi
pip install uwsgi
6, 安装Flask项目依赖包
pip install -r flasktpppackage.txt
7, 如果因使用flask_cache导致ImportError: No module named 'flask.ext'错误, 按下面方式解决。
vim /root/.virtualenvs/FlaskTPP/lib/python3.5/site-packages/flask_cache/jinja2ext.py
将第33行的 flask.ext.cache 改成 flask_cache
8, 迁移
python manage.py migrate
python manage.py upgrade
9, 使用Navicat连接阿里云服务器的mysql,给表加入数据
10, 修改nginx.conf
a,将连接uwsgi的端口和uwsgi.ini配置文件相同
location / {
include /etc/nginx/uwsgi_params;
uwsgi_pass localhost:8000;
}
b, 将静态文件路径修改
location /static {
alias /var/www/FlaskTPP/TPP/App/static/;
}
11,uwsgi服务器启动和关闭
关闭:
ps -ef|grep uwsgi : 查看进程
kill -9 5563 : 关闭进程(5563为进程号)
开启:
uwsgi --ini uwsgi.ini
12, nginx服务器启动和关闭
关闭:nginx -s stop
运行:nginx -c /root/nginx.conf
注意: 先启动uwsgi,然后再启动nginx