记录一下VUE3 + Flask + uWSGI + nginx部署

96 阅读2分钟

去年双十一阿里云服务器打特价,有些域名便宜到6块钱一年,我就买了 O(∩_∩)O 哈哈~
由于自己是前端每天都是工作内容都是跟三件套相伴,属实是有点够了(这就跟人吃肉一样,天天吃,准保看到就想吐( ̄ε(# ̄))

闲话说完,下面我们直接上uWSGI的配置文件:

截屏2024-05-11 09.37.19.png

有几个地方要稍微着重说明一下:

  • module字段: main为flask项目的启动文件 main.py, app为flask实例化的变量名
  • pidfile字段: 生成uwsgi的进程id文件
  • 如果没有指定位置,那么生成的文件会跟配置文件同目录

uwsgi的命令(由于我这里将uwsgi安装在了python虚拟环境,所以这里需要在项目路径下执行)

  • uwsgi --ini uwsgi.ini 启动uwsgi服务
  • uwsgi --reload uwsgi.pid 重启uwsgi服务
  • uwsgi --stop uwsgi.pid 停止uwsgi服务

下面为nginx的配置

截屏2024-05-11 09.51.05.png

关于前端打包文件指向的地方我可能理解的有些出入,希望大佬能指正

  • 如果静态文件部分用的是root不是alias,那么浏览器在访问localhost:5000/text/时,其实服务器访问的路径为: /opt/homebrew/var/www/dist/text/, 而我们的前端打包文件其实是在dist下,所以会抛出状态码为404。
  • alias的话, 浏览器在访问localhost:5000/text/时, 服务器访问的就是正确的路径了: /opt/homebrew/var/www/dist/index.html
  • try_files部分就是针对VUEl路由为history模式配置的,解决访问除了根目录之外的路径404问题

下面是vite打包配置,我这里写的简陋哈

截屏2024-05-11 10.01.01.png

写到这里差点忘了flask中部署之前需要改动的地方

截屏2024-05-11 10.04.23.png

  • 开发的时为了便于调试,就用 app.run(host = '127.0.0.1', port = 5005, debug = True)
  • 部署的话直接: app.run()就可以了,因为uwsgi配置文件都已经指定

嗯, 差不多就这些了▄︻┻┳═一…… ☆(>○<)