最简单最详细的宝塔部署flask教程
作者:mmseoamin日期:2023-12-25

第一步,申请一个服务器(申请过程就省略了,这个很简单,网上也有很多教程)

在这里我白嫖到了7个月的阿里云服务器,以此为例。准备好服务器之后,会获得一个公网IP地址

第二步,准备好flask项目

flask项目中必须包含一个文件requirements.txt,用于写明项目所需要的Python包,否则后续部署项目时会报错。

例如我的项目需要以下这些包

 部分app.py代码如图

第三步,使用宝塔

进入宝塔官网宝塔面板 - 简单好用的Linux/Windows服务器运维管理面板,点击立即免费安装

推荐小白使用在线安装

在服务器IP中输入自己申请到的服务器的公网IP,输入自己服务器的密码,然后立即安装到服务器

之后系统会让大家根据自己的需求选择LAMP/LNMP或只安装面板。不想动脑子可以直接选择LAMP或LNMP,

LAMP=Linux+Apache+MySQL+PHP

LNMP=Linux+Nginx+MySQL+PHP

大家可以根据自己的需要选择。熟悉的朋友可以选择只安装面板,然后安装成功后使用在服务器终端手动安装相应的依赖。安装需要30分钟左右,大家耐心等待。

安装完成后页面会弹出一个信息,显示安装成功,并提供一个面板地址,用户名和密码,大家一定要记下来。

用浏览器打开面板地址,输入用户名和密码。

第一次登陆需要大家绑定一个宝塔账号,点击下方注册一个即可

 登陆后进入宝塔主页

第四步,上传写好的flask项目

建议上传压缩包,然后再解压。

注意,强烈建议大家把项目上传在www/wwwroot目录下,否则后续的配置会很麻烦,容易出现很多错误。

第五步,下载并设置Python项目管理器

在软件商店搜索Python,下载Python项目管理器,版本任意选一个stable版本即可

  在Python项目管理器里安装自己项目所需要的Python版本

第六步,安装进程守护管理器

进程守护器可以使项目异常中断后自动重启

 第七步,添加flask项目到Python项目管理器中

(1)项目名称随便输入即可

(2)Python版本选择之前安装的Python管理器中的版本

(3)框架选择flask

(4)启动方式选择uwsgi

(5)项目路径选择上传项目的路径

(6)日志路径会自动生成

(7)启动文件选择project目录下的flask的py文件,我的是app.py

(8)端口设置为8001或5000

(9)运行项目的用户为root

然后点击确定等待flask项目部署。

 第八步,配置flask项目的uwsgi

确认 chdir为自己项目的目录

wsgi-file为flask的启动文件

把原始的http改为socket,然后把地址改为127.0.0.1

buffer-size建议改大一点

callable=flask的启动文件名

virtualenv设置为项目文件下自动生成的环境文件夹

如果点确认的时候显示端口已被占用,则需要先打开服务器终端,输入命令

 netstat -anp | grep 8001,查看是哪个进程占用了当前端口

接着输入命令 kill -s 9 XXXX,XXXX为占用该端口的进程名

然后再重新配置flask项目的uwsgi

 第九步,安装并设置Nginx(关键)

找到server部分,修改server_name为自己服务器的公网ip

修改root为自己的项目目录

添加location,添加

include uwsgi_params;

uwsgi_pass 127.0.0.1:8001;  #这个地址和端口号一定要与flask项目中uwsgi配置时的地址和端口号相同

uwsgi_param UWSGI_CHDIR /www/wwwroot/project;  #设置为自己的项目目录

添加location /static/

添加alias www/wwwroot/project/static;  #表明访问flask中的static目录下的静态文件,如CSS,图片等。

 第十步,放行端口

(1)在自己的服务器添加安全组并放行对应的端口

 (2)在宝塔里面放行相应的端口

 

尽量这些都放行

至此,flask项目部署完毕,现在可以通过服务器ip地址访问自己的项目了