Flask项目部署到服务器

2021/04/06 22:52 · 技术教程 · 68阅读 · 0评论

Flask 项目部署教程——宝塔部署-飞跃|Fly

在我们开发好项目,测试完成后,要部署上线。许多用户可能在用宝塔面板作为服务器运维工具,那么在宝塔上该如何部署Flask项目呢?

一、项目准备

进入你项目的根目录,使用 pip freeze >requirements.txt 导出项目依赖,并对项目进行打包,上传至你的服务器目录。

二、宝塔环境准备

在宝塔应用商店中搜索 Python项目管理器 并安装:

Flask 项目部署教程——宝塔部署-飞跃|Fly

三、线上部署

安装完毕后点击设置

Flask 项目部署教程——宝塔部署-飞跃|Fly

在设置界面,点击版本管理,安装项目所需要的Python版本:

Flask 项目部署教程——宝塔部署-飞跃|Fly

点击项目管理——>添加项目

Flask 项目部署教程——宝塔部署-飞跃|Fly

如图所示:

Flask 项目部署教程——宝塔部署-飞跃|Fly

注:至于启动方式,会在后边的文章中进行详解。

点击确定直到添加完毕,初始部署完毕。

四、域名映射

我们需要为我们的项目添加一个域名,服务于我们的Flask项目,在宝塔中添加网站

Flask 项目部署教程——宝塔部署-飞跃|Fly

注意:在PHP版本中选择纯静态

回到项目列表,在相应项目中点击映射,输入我们刚才添加的域名即可!

五、Nginx反向代理

Gunicorn这类WSGI服务服务器内置了web服务器,所以我们不需要web服务器也能与客户端进行交互,处理请求与响应。但是内置的web服务器依然不够强健,因此我们需要为我们的项目穿上一件棉袄,让它能够抵御更烈的严寒。而流行的开源web服务器Nginx就是不二之选。

Flask 项目部署教程——宝塔部署-飞跃|Fly
设置反向代理

在这种模式下,Nginx作为代理服务器,监听来自外部80端口的请求;而Gunicorn负责监听本地8000端口的请求(Gunicorn默认端口8000)。Nginx会把来自外部的请求转发给Gunicorn处理,接收到响应后再转发给客户端。这样做的好处有:

  • 提高静态文件的处理效率。Nginx处理静态文件的速度非常快,而且可以对静态文件设置缓存。
  • 提高安全系数。避免WSGI服务器直接暴露出来,且可以作为防火墙来抵御攻击。
  • 提高程序处理能力。设置反向代理可以缓冲请求,对请求进行预处理,交给WSGI一个完整的HTTP请求,还可以设置负载均衡,优化效率。

Nginx配置:

server
{
listen 80;
server_name api.3xittec.cn;# 映射域名写在这里
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/api.3xittec.cn;
access_log /www/wwwlogs/api.3xittec.cn.log;
server
{
listen 80;
server_name api.3xittec.cn;# 映射域名写在这里
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/api.3xittec.cn;
location /static {
alias ;#静态文件地址
expires 30d;缓存过期时间
error_log off;
}
location / {
proxy_pass http://localhost:8000;#转发的地址,即Gunicorn运行的地址
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 5M;
}
access_log /www/wwwlogs/api.3xittec.cn.log;
error_log /www/wwwlogs/api.3xittec.cn.error.log;
}

更新完配置后,重启Nginx即可生效。

六、Supervisor护花使者

在前边我们已经用Gunicorn来运行项目,但这并不靠谱。我们需要一个工具来自动在后台运行它,同时监控它的运行状况,并在系统出错或重启时自动重启程序。那么Supervisor这个护花使者,充当这个角色,来呵护我们的项目。最终部署架构图:

Flask 项目部署教程——宝塔部署-飞跃|Fly
最终部署架构图

那么这个护花使者该在哪安装呢,还是在宝塔应用商店搜索Python即可安装。成功后即可点击设置>添加进程

Flask 项目部署教程——宝塔部署-飞跃|Fly

配置项解释:

  • 名称:用户自己定义的名称,做到顾名思义。
  • 启动用户:设置启动该程序的用户,默认为root即可。
  • 运行目录:当前项目的根目录。
  • 启动命令:项目虚拟环境bin文件夹下的gunicorn文件+-w 4 wsgi:app

最后点击确定即可!至此宝塔面板部署教程结束!

您可能感兴趣的文章

本文地址:https://www.lan2020.cn/flask%e9%a1%b9%e7%9b%ae%e9%83%a8%e7%bd%b2%e5%88%b0%e6%9c%8d%e5%8a%a1%e5%99%a8/
文章标签:
温馨提示:文章内容系作者个人观点,不代表澜溪博客对观点赞同或支持。
版权声明:本文为转载文章,来源于 澜溪 ,版权归原作者所有,欢迎分享本文,转载请保留出处!

文件下载

上一篇:
0 0 votes
Article Rating
Subscribe
提醒
0 评论
Inline Feedbacks
View all comments