阿里云搭建flask服务器

  1. 我选择debian系统

    系统为:
bash 复制代码
(flask-env) admin@server:~/flask-project$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 12 (bookworm)
Release:        12
Codename:       bookworm
  1. 系统自带的是python3.11。 所以只需要创建虚拟环境用下面的命令。
bash 复制代码
cd ~
mkdir flask-project
cd flask-project
sudo apt update
sudo apt install python3-venv -y
python3 -m venv flask-env
source flask-env/bin/activate
pip install Flask --break-system-packages

注意pip install Flask 最后命令可能不行。 运行上面命令后,文件夹进入了flask-project

bash 复制代码
admin@server:~/flask-project$ cd ~/flask-project
(flask-env) admin@server: source flask-env/bin/activate

(flask-env) admin@server/flask-project$ deactivate

admin@server:~/flask-project$ 
  1. 在flask-project中建立app.py运行
bash 复制代码
from flask import Flask
app = Flask(__name__)

@app.route('/')
def home():
    return "Hello from Flask on Aliyun!"

if __name__ == '__main__':
    app.run(host='0.0.0.0', debug=False)
  1. 运行app.py
bash 复制代码
python app.py

后在公网上运行就可以了

bash 复制代码
http://<你的阿里云公网IP>:5000
  1. 可以通过gunicorn来部署

    如果server_flask.py文件中有app=Flask(name)
bash 复制代码
cd ~/flask-project
gunicorn -w 4 -b 0.0.0.0:5000 server_Flask:app
复制代码
(flask-env) admin@server:~/flask-project$ gunicorn -w 4 -b 0.0.0.0:5000 app:app
[2025-08-21 13:00:36 +0800] [7247] [INFO] Starting gunicorn 23.0.0
[2025-08-21 13:00:36 +0800] [7247] [INFO] Listening at: http://0.0.0.0:5000 (7247)
[2025-08-21 13:00:36 +0800] [7247] [INFO] Using worker: sync
[2025-08-21 13:00:36 +0800] [7248] [INFO] Booting worker with pid: 7248
[2025-08-21 13:00:36 +0800] [7250] [INFO] Booting worker with pid: 7250
[2025-08-21 13:00:36 +0800] [7252] [INFO] Booting worker with pid: 7252
[2025-08-21 13:00:36 +0800] [7253] [INFO] Booting worker with pid: 7253
  1. 可以通过nginx来部署
bash 复制代码
sudo apt update
sudo apt install nginx -y

创建配置文件:

bash 复制代码
sudo nano /etc/nginx/sites-available/flask-project

内容如下(替换 your_domain_or_ip):

bash 复制代码
server {
    listen 80;
    #server_name your_domain_or_ip;
    #server_name www.mth.plus mth.plus;

    location / {
        proxy_pass http://127.0.0.1:5000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

启用配置:

bash 复制代码
sudo ln -s /etc/nginx/sites-available/flask-project /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

阿里云安全组开放端口

bash 复制代码
端口:80
协议:TCP
授权对象:0.0.0.0/0

创建启动脚本:

bash 复制代码
nano ~/flask-project/start.sh

内容如下:

bash 复制代码
#!/bin/bash
source /home/admin/flask-project/flask-env/bin/activate
exec gunicorn -w 4 -b 0.0.0.0:5000 server_Flask:app

赋予执行权限:

bash 复制代码
chmod +x ~/flask-project/start.sh

创建 systemd 服务文件:

bash 复制代码
sudo nano /etc/systemd/system/flask-project.service

内容如下:

bash 复制代码
[Unit]
Description=Flask Project via Gunicorn
After=network.target

[Service]
User=admin
WorkingDirectory=/home/admin/flask-project
ExecStart=/home/admin/flask-project/start.sh
Restart=always

[Install]
WantedBy=multi-user.target

启用并启动服务:

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl enable flask-project
sudo systemctl start flask-project
bash 复制代码
sudo systemctl start flask-project

查看状态:

bash 复制代码
sudo systemctl status flask-project

PS:

查看系统进程

bash 复制代码
netstat -ntlp 
sudo kill -9 xxxx

sudo apt-get install python3-gunicorn 
sudo apt-get install python3-numpy
相关推荐
vortex513 分钟前
从Conda到UV:Python项目依赖管理的现代演进
python·conda·uv
何以解忧,唯有..29 分钟前
Python time 模块详解:时间处理与日期操作指南
开发语言·python
梅雅达编程笔记41 分钟前
Day 18 · 综合实战 B:AI 客服 Agent(专栏收官)
python·智能客服·ai agent·意图识别·ai客服·大模型应用·ai办公自动化
测试老哥1 小时前
Pytest自动化测试框架tep环境变量、fixtures、用例三者之间的关系
自动化测试·软件测试·python·测试工具·测试用例·pytest·职场发展
Buke..1 小时前
【APP 逆向】哔哩哔哩 sign 参数逆向(下):OLLVM 混淆还原 sign 算法
java·javascript·爬虫·python·算法
JacksonMx1 小时前
Java CompletableFuture 异步编程实战:从入门到架构师避坑指南
linux·数据库·python
W_326002 小时前
Python-OpenCV HSV颜色空间与inRange颜色分割:按颜色提取目标物体
图像处理·人工智能·python·opencv·机器学习
Buke..2 小时前
【APP 逆向】哔哩哔哩 sign 参数逆向(上):Frida 反调试绕过与 unidbg 调用
java·开发语言·爬虫·python·安卓
怪侠_岭南一只猿2 小时前
[简单理解]小龙虾是怎么一回事?
运维·服务器·ai
海兰2 小时前
【应用】Wastnet 框架的 SSE (Server-Sent Events)从协议原理到实践指南
运维·服务器·人工智能