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

阿里云搭建flask服务器

  1. 我选择debian系统
    在这里插入图片描述
    系统为:
    (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

  2. 系统自带的是python3.11。 所以只需要创建虚拟环境用下面的命令。

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

admin@server:~/flask-project$ cd ~/flask-project
(flask-env) admin@server: source flask-env/bin/activate(flask-env) admin@server/flask-project$ deactivateadmin@server:~/flask-project$ 
  1. 在flask-project中建立app.py运行
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
python app.py

后在公网上运行就可以了

http://<你的阿里云公网IP>:5000

在这里插入图片描述

  1. 可以通过gunicorn来部署
    在这里插入图片描述
    如果server_flask.py文件中有app=Flask(name)
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来部署
sudo apt update
sudo apt install nginx -y

创建配置文件:

sudo nano /etc/nginx/sites-available/flask-project

内容如下(替换 your_domain_or_ip):

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;}
}

启用配置:

sudo ln -s /etc/nginx/sites-available/flask-project /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

阿里云安全组开放端口

端口:80
协议:TCP
授权对象:0.0.0.0/0

在这里插入图片描述
创建启动脚本:

nano ~/flask-project/start.sh

内容如下:

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

赋予执行权限:

chmod +x ~/flask-project/start.sh

创建 systemd 服务文件:

sudo nano /etc/systemd/system/flask-project.service

内容如下:

[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

启用并启动服务:

sudo systemctl daemon-reload
sudo systemctl enable flask-project
sudo systemctl start flask-project
sudo systemctl start flask-project

查看状态:

sudo systemctl status flask-project

在这里插入图片描述

PS:
查看系统进程

netstat -ntlp 
sudo kill -9 xxxxsudo apt-get install python3-gunicorn 
sudo apt-get install python3-numpy
http://www.dtcms.com/a/342169.html

相关文章:

  • 2021年ASOC SCI2区TOP,改进遗传算法+自主无人机目标覆盖路径规划,深度解析+性能实测
  • Java 16 新特性及具体应用
  • Redis 奇葩问题
  • Python break/continue
  • 嵌入式C语言和数据结构面试题
  • 2025-08-21 Python进阶3——模块
  • 信创自主可控新标杆:RustFS如何用内存安全架构重构数据主权防线?
  • Binlog Server守护MySQL数据0丢失
  • RabbitMQ:技巧汇总
  • Windows下RabbitMQ完整安装指南
  • 云原生俱乐部-k8s知识点归纳(6)
  • 活到老学到老之vue-vben-admin项目添加简单页面
  • 从YOLOv5到RKNN:零冲突转换YOLOv5模型至RK3588 NPU全指南
  • AI创业公司简介:Pogo
  • 三大图计算框架深度对比
  • 机器学习--聚类算法、集成算法
  • 《前端功能开关SDK全景剖析:从远程配置到数据闭环,重构业务迭代底层逻辑》
  • 【Java集合】List,Map,Set-详细讲解
  • Android基建开发大纲
  • Android - 资源类型 MINE Type
  • Android15 AndroidV冻结和解冻的场景
  • Android URC 介绍及源码案例参考
  • vlc-android: 编译自己的libvlc
  • MySQL深分页慢问题及性能优化
  • thingsboard 通过Entities hierarchy部件实现左边菜单点击,右边的表格按左边的分类型进行过滤筛选数据源
  • 什么是Qoder?如何下载?如何体验?Qoder和其他 AI IDE 什么区别?
  • ZStack Zaku替代VMware Tanzu:六项对比、构建虚拟机+容器一体化架构
  • C# 编写一个XmlToDota的转换工具
  • 关于CentOS7无法使用使用
  • 在Java项目中去理解通用工具为什么能通用,以及如何写出类似的工具类