如何使用宝塔部署vue+flask项目
前端项目
1. 打包前端项目生成dist文件夹
npm run build:prod
2. 宝塔面板的/www/wwwroot路径下新建项目文件夹
3. 将打包生成的dist文件夹中的文件移动到vue-flask-app文件夹中
4. 新建php网站(注意,这里是前端访问网站)
(1)添加站点
(2) 编辑站点,替换成自己的域名加端口号(记得开放端口)
5. 部署flask后端项目
(1) 将后端api项目文件夹移到vue-flask-app文件夹下
(2) 配置数据库连接(api/config.py)
mysql+pymysql://用户名:密码@localhost:3306/数据库名
(3) 数据库迁移(当数据表字段发生改变时需要执行此操作)
flask db init //创建迁移文件夹migrates
flask db migrate // 生成迁移文件
flask db upgrade //执行迁移文件中的升级
(4) 删除ll_env文件,重新配置虚拟环境(本地环境是windows要部署到centos服务器才需要此操作)
因为ll_env文件是windows生成的,这里需要在centos环境下api目录下重新安装虚拟python环境,生成venv文件
// 此命令会在当前目录下生成一个名为venv的目录,后面一个venv是创建的虚拟环境名
python3 -m venv venv
source venv/bin/activate //激活Python虚拟开发环境
5. 命令运行api后端项目
(1) api/venv目录下安装gunicorn
pip install gunicorn
(2) gunicorn命令启动项目(main是入口文件,因项目而异)
gunicorn -b 127.0.0.1:8823 main:app
(3) 重启项目(当后端项目修改需要执行此步骤)
pstree -ap|grep gunicorn //查看进程服务
kill -9 1223 // 关闭进程号
gunicorn -b 127.0.0.1:8823 main:app //重启项目
7. 修改网站配置文件(/api)
这里的8823端口号需要和上面gunicorn命令运行的端口号保持一致
这里是代理不需要开放8823端口,只需要开放前端访问的8824端口就好了
location /api
{
proxy_pass http://127.0.0.1:8823;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_set_header Connection "";
}