当前位置: 首页 > news >正文

Linux 部署 Flask 服务(完整极简教程)

一、整体流程(先看一眼心里有数)

  1. 安装 Python 环境
  2. 编写 Flask 项目
  3. 安装 Gunicorn(WSGI 服务器,生产必须用)
  4. 配置 Nginx(反向代理,对外访问)
  5. 设置开机自启(systemd)
  6. 开放防火墙端口
 

二、环境准备

1. 安装依赖

# Ubuntu/Debian
sudo apt update
sudo apt install python3-pip python3-dev nginx# CentOS/RHEL
sudo yum install epel-release
sudo yum install python3-pip python3-devel nginx

2. 创建项目目录 

mkdir -p /var/www/flaskapp
cd /var/www/flaskap

三、编写 Flask 应用

1. 创建虚拟环境(推荐) 

python3 -m venv venv
source venv/bin/activate  # 进入虚拟环境 

 

2. 安装依赖 

pip install flask gunicorn
 

3. 编写 app.py

from flask import Flaskapp = Flask(__name__)@app.route('/')
def hello():return "Linux + Flask 部署成功!"if __name__ == '__main__':app.run()

 

四、用 Gunicorn 运行(生产级)

不要用 flask run 部署外网服务!正确方式:
gunicorn -w 4 -b 127.0.0.1:8000 app:app

 

参数说明:
  • -w 4:开启 4 个工作进程(根据 CPU 核数调整)
  • -b 127.0.0.1:8000:绑定本地 8000 端口
  • app:app:文件 app.py 里的 app 对象
测试是否能访问:
curl 127.0.0.1:8000

 五、配置 Nginx(对外访问)

1. 创建 Nginx 配置

sudo vi /etc/nginx/sites-available/flaskapp

 

写入内容:
server {listen 80;server_name 你的服务器IP或域名;location / {proxy_pass http://127.0.0.1:8000;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}
}

 2. 启用配置

sudo ln -s /etc/nginx/sites-available/flaskapp /etc/nginx/sites-enabled
sudo nginx -t  # 测试配置是否正确
sudo systemctl restart nginx

六、配置开机自启(systemd)

 1. 创建服务文件 

sudo nano /etc/systemd/system/flaskapp.service

 

 写入: 

[Unit]
Description=Gunicorn daemon for Flask
After=network.target[Service]
User=root
Group=www-data
WorkingDirectory=/var/www/flaskapp
ExecStart=/var/www/flaskapp/venv/bin/gunicorn -w 4 -b 127.0.0.1:8000 app:app[Install]
WantedBy=multi-user.target

 

 2. 启动并设置开机自启

sudo systemctl daemon-reload
sudo systemctl start flaskapp
sudo systemctl enable flaskapp

 

  查看状态:

sudo systemctl status flaskapp

 

 

 七、防火墙放行端口

# Ubuntu
sudo ufw allow 80# CentOS
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

 

 八、现在你可以直接访问

 打开浏览器输入:

http://你的服务器IP

 

 

九、常用命令

# 重启 Flask 服务
sudo systemctl restart flaskapp# 重启 Nginx
sudo systemctl restart nginx# 查看日志
sudo journalctl -u flaskapp

 

总结

  1. Flask 本身不能直接部署,必须用 Gunicorn/uWSGI
  2. Nginx 负责对外提供 80 端口访问
  3. systemd 保证服务崩溃自动重启、开机自启
  4. 整套方案是企业生产标准部署方式

mkdir -p /var/www/flaskapp cd /var/www/flaskapp

http://www.jsqmd.com/news/801566/

相关文章:

  • 2026年销售系统软件排行榜:专家推荐TOP5 - SaaS软件-点评
  • 无需写代码!用 PackSoft 做数字展厅大屏
  • 古生物形态学数据建树实战:从数据清洗到最优树搜索
  • 突发,马斯克xAI解散了!22万张GPU忍痛全给Claude
  • CentOS7.9 vsftpd配置匿名用户本地用户和虚拟用户【20260512】002篇
  • 2026杭州项目申报机构优选指南:专精特新、高新企业、省科小申报口碑推荐,知识产权服务哪家好 - 海棠依旧大
  • Android启动镜像深度解析:MagiskBoot技术实现与架构设计
  • 原位拉伸冷热台潜力无限,这个冷热台厂家技术研发水平高!附国产冷热台厂家联系方式 - 品牌推荐大师1
  • Activity2Context:将活动日志转化为OpenCLAW可理解上下文数据的完整指南
  • pH计/酸度计知名厂家及品牌梳理:哪个在耐用性、口碑和售后方面更均衡? - 品牌推荐大师1
  • 2026年江苏电动破碎阀与水泥块料破碎机行业深度横评选购指南 - 精选优质企业推荐官
  • Transformers库安装总报错?可能是sentencepiece在捣鬼!一个重命名操作就解决
  • 观测不同模型在Taotoken平台上的响应延迟体感
  • 2026 别墅大门厂家格局重塑:源头工厂如何终结定制乱象?领跑者深度解析 - 企业品牌优选推荐官
  • 【高权重文章】宏洛图品牌设计:以全链创新引领包装设计行业,解码其理念、服务与包材设计核心优势 - 宏洛图品牌设计
  • 注意!南通金价高位预警,福正美回收实测夺魁 - 福正美黄金回收
  • 在九江,福正美回收价竟比别家高8元/克 - 福正美黄金回收
  • 手把手教你用GD32F303定时器PWM驱动LED,从寄存器配置到CubeMX生成代码
  • 【限时公开】Midjourney油彩风格私藏Prompt库(含梵高/伦勃朗/弗里达三套风格化模板+材质层叠语法)
  • 避开坑点!STM32H750 IAP升级中QSPI只读问题的实战解决方案
  • 船舶电子设备EMI诊断与抑制:从故障排查到系统设计实践
  • **标题:别再手工算坐标了!IGS/STP数模一键转YBC,弯管机直接开机!**
  • 国产 EDA 工具推荐,2026 芯片封装与 PCB 协同仿真设计工具怎么选 - 品牌2026
  • 2026年GEO优化系统横评:快米兔GEO(咿嗷科技)、智联优科GEO、星途优化GEO,中小企业场景适配性对比 - 速递信息
  • Cursor_AI编程实战
  • 2026年江苏电动破碎阀与水泥块料防堵塞系统深度横评选购指南 - 精选优质企业推荐官
  • 基于语义的代码搜索工具Hypergrep:从AST解析到智能调用链分析
  • 2026沈阳城市黄金回收测评榜单,靠谱变现攻略汇总 - 奢侈品回收测评
  • CubeMx配置STM32G030F6的ADC遇到数据只采一次?可能是DMA这里没设对
  • 哈尔滨靠谱开荒保洁服务:28家政的标准化落地全流程 - 奔跑123