一、部署过程
- Vue 前端项目打包部署
- Nginx ip转发
- Gunicorn 开启 Flask 后端
二、Vue 前端项目打包部署
# 注意 vue发往后端的 ip 要进行修改
# 若 原来是 127.0.0.1:5000 需要修改为 nginx 用于转发的 ip
# 如第三步的图片所示 需 修改为 xxx/db
# vue 项目打包,生成dist文件
$ npm run build
# dist 文件夹打包
$ zip -r dist.zip dist/
# dist.zip 上传服务器 port为服务器端口号,username服务器用户,ip为服务器ip
$ scp -P port dist.zip username@ip:~/dist.zip
# 默认已安装好nginx,未安装的请自行安装,将dist文件放到 /var/www/html 并解压
$ mv dist.zip /var/www/html
$ unzip dist.zip
$ rm -rf dist.zip
三、 Nginx ip转发
# 默认已安装好nginx,未安装请自行安装
# 修改nginx default文件 /etc/nginx/sites-available/default
$ sudo vim /etc/nginx/sites-available/default
# 修改root,root为前端静态文件位置,替换成dist文件位置
修改为 root /var/www/html/dist;
# 使用 location 加入 flask 后端的 ip 转发
location /db/ {
proxy_pass http://127.0.0.1:5001/;
}
# 重启 nginx
$ sudo systemctl restart nginx
# 访问 https://ip:port 即可
四、Gunicorn 开启 Flask 后端
# 安装gunicorn
$ pip install gunicorn
# 新建sh脚本,通过脚本文件运行后端代码
$ vim go.sh
# 将下列内容写入 go.sh,第一行 激活python环境,第二行 进入项目目录
# 第三行 gunicorn运行python代码 -w为线程创建数量, -b为访问地址
# emr.pid为将服务生成的pid -D为后台启动
. /usr/local/niai-emr/niai-emr/venv/bin/activate
cd /usr/local/niai-emr/niai-emr
gunicorn -w 5 -b 0.0.0.0:5001 --log-level=debug -p emr.pid application:app -D
# 脚本启动
$ sh go.sh