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

服务器部署--Flask项目

一、准备工作

假设你的服务器系统是 Linux(CentOS/Ubuntu均适用),公网IP是 111.229.204.102,Flask 监听端口为 7777


二、Flask 项目示例代码

  1. 新建项目目录,比如 /www/demo_app

sudo mkdir -p /www/demo_app
sudo chown -R $(whoami) /www/demo_app
cd /www/demo_app
  1. 新建两个 Python 文件:

  • mycode.py (普通 Python 模块)

# mycode.py
def add(a, b):return a + bdef greet(name):return f"Hello, {name}!"
  • app.py (Flask 服务启动文件)

from flask import Flask
from flask_cors import CORS
import mycodeapp = Flask(__name__)
CORS(app)  # 允许跨域访问@app.route('/')
def index():result = mycode.add(10, 20)greeting = mycode.greet("小明")return f"计算结果:10 + 20 = {result}<br>打招呼:{greeting}"if __name__ == '__main__':# 监听所有地址,端口7777app.run(host='0.0.0.0', port=7777)

三、安装 Python 和依赖

假设你的服务器没有 Python3 和 pip:

# 安装 Python3 和 pip (CentOS示例)
sudo yum install -y python3 python3-pip# 安装 Flask 和 flask-cors
pip3 install flask flask-cors

四、测试启动 Flask 服务

cd /www/demo_app
python3 app.py

启动后会看到:

 * Running on http://0.0.0.0:7777/ (Press CTRL+C to quit)

这时在本机服务器用浏览器或 curl 测试:

curl http://127.0.0.1:7777/

应该能看到返回的 HTML:

计算结果:10 + 20 = 30
打招呼:Hello, 小明!

五、配置服务器防火墙和云服务安全组

  1. 开放端口 7777

  • 如果你是阿里云、腾讯云等云服务器,登录云服务商控制台:

    • 找到你实例对应的安全组设置

    • 添加一条入站规则:TCP,端口7777,源地址 0.0.0.0/0(允许所有IP访问)

  1. 服务器本地防火墙放通端口

  • CentOS 7+ 使用 firewalld:

sudo firewall-cmd --zone=public --add-port=7777/tcp --permanent
sudo firewall-cmd --reload
  • Ubuntu 使用 ufw:

sudo ufw allow 7777/tcp
sudo ufw reload

六、浏览器访问测试

在任意电脑浏览器打开:

http://111.229.204.102:7777/

应看到网页显示:

计算结果:10 + 20 = 30
打招呼:Hello, 小明!

七、后台运行 Flask 服务(测试用)

你可以用 nohup 让程序在后台运行,不受终端关闭影响:

nohup python3 app.py > flask.log 2>&1 &

查看日志:

tail -f flask.log

八、配置 systemd 实现开机自启动

  1. 创建 systemd 服务文件(统一放在/etc/systemd/system/,比较好

用 root 权限编辑 /etc/systemd/system/flask_app.service

sudo vim /etc/systemd/system/flask_app.service

写入以下内容(根据实际路径和用户修改):

[Unit]
Description=Flask Demo App
After=network.target[Service]
User=ec2-user                   # 运行该服务的用户(你自己的用户)
WorkingDirectory=/www/demo_app  # Flask项目目录
ExecStart=/usr/bin/python3 /www/demo_app/app.py
Restart=always                  # 程序异常退出自动重启
RestartSec=5s[Install]
WantedBy=multi-user.target
  • User 要写你实际登录服务器的用户名(用 whoami 查看)

  • ExecStart 填写 python3 路径和项目中 app.py 的绝对路径

  1. 重新加载 systemd 配置:

sudo systemctl daemon-reload
  1. 启动服务并测试:

sudo systemctl start flask_app.service
sudo systemctl status flask_app.service

确认服务状态为 active (running)

  1. 设置开机自启:

sudo systemctl enable flask_app.service
  1. 停止服务:

sudo systemctl stop flask_app.service
  1. 查看日志:

journalctl -u flask_app.service -f
http://www.xdnf.cn/news/863659.html

相关文章:

  • AWS 成本异常检测IAM策略
  • WebFuture:Ubuntu 系统上在线安装.NET Core 8 的步骤
  • GB/T 24507-2020 浸渍纸层压实木复合地板检测
  • 使用 LangChain 和 RAG 实现《斗破苍穹》文本问答系
  • Canal
  • 电脑网络重置,找不到原先自家的WIFI,手机还能正常连接并上网
  • 实时通信RTC与传统直播的异同
  • 代码训练LeetCode(22)研究者H指数
  • 神经网络-Day44
  • 最新MySQL数据库主要版本系列差异比较及新增功能详解
  • DeepSeek 赋能智能零售,解锁动态定价新范式
  • SpringAI集成DeepSeek实战
  • 豆包突然没法用了,一打开就提示网络连接错误
  • Android 颜色百分比对照
  • OA工程自动化办公系统 – 免费Java源码
  • android 之 KeyguardService
  • Kafka入门-集群基础环境搭建(JDK/Hadoop 部署 + 虚拟机配置 + SSH 免密+Kafka安装启动)
  • CentOS7搭建Hadoop集群
  • Oracle OCP与MySQL OCP认证如何选?
  • 零基础玩转Python生物信息学:数据分析与算法实现
  • Python Flask中启用AWS Secrets Manager+AWS Parameter Store配置中心
  • Go语言爬虫系列教程4:使用正则表达式解析HTML内容
  • dvwa9——Weak Session IDs
  • Redis-旁路缓存策略详解
  • 常见排序算法详解与C语言实现
  • Python网页数据抓取常用的库及方法介绍
  • Python非监督学习
  • 如何轻松地将文件从 PC 传输到 iPhone?
  • 吃透 Golang 基础:数据结构之 Struct
  • 涂胶协作机器人解决方案 | Kinova Link 6 Cobot在涂胶工业的方案应用与价值