《Python实战进阶》No8:部署Flask/Django应用到云平台(以Aliyun为例)
- 开源代码
- 2025-09-22 06:45:02

第8集:部署 Flask/Django 应用到云平台(以Aliyun为例) 2025年3月1日更新 增加了 Ubuntu服务器安装Python详细教程链接。 引言
在现代 Web 开发中,开发一个功能强大的应用只是第一步。为了让用户能够访问你的应用,你需要将其部署到生产环境中。阿里云(Aliyun)作为国内领先的云服务提供商,提供了丰富的工具和服务来支持开发者快速、安全地部署和管理应用。本篇将详细介绍如何将 Flask 或 Django 应用部署到阿里云服务器,并提供完整的操作步骤。
1. 准备工作
在开始部署之前,我们需要完成以下准备工作:
阿里云账号 如果你还没有阿里云账号,请先注册并完成实名认证。访问 阿里云官网 进行注册。
购买 ECS 实例 阿里云的弹性计算服务(ECS)是部署 Web 应用的核心资源。选择适合的实例类型(如通用型或计算型),操作系统推荐使用 Ubuntu 或 CentOS。
域名与 SSL 证书 如果你希望为应用配置 HTTPS,需要提前准备域名并在阿里云上申请免费的 SSL 证书。
本地开发环境 确保你的 Flask 或 Django 应用已经完成开发,并能够在本地正常运行。
2. 部署流程概述
以下是部署 Flask/Django 应用到阿里云的基本流程:
配置 ECS 实例。安装必要的软件环境(Python、Nginx、Gunicorn/uWSGI)。将代码上传到服务器。配置 Web 服务器和应用服务器。启动服务并测试。在ubuntu服务器安装python教程见如下链接: Ubuntu服务器安装python详细教程
接下来我们将逐一讲解每个步骤。
3. 步骤详解 3.1 配置 ECS 实例 登录阿里云控制台,进入 ECS 管理页面,启动你的实例。使用 SSH 连接到服务器:ssh root@<你的服务器公网IP> 更新系统包:sudo apt update && sudo apt upgrade -y 3.2 安装 Python 和依赖环境 安装 Python 3 和 pip:sudo apt install python3 python3-pip python3-venv -y 创建虚拟环境并激活:python3 -m venv venv source venv/bin/activate 安装项目依赖:pip install -r requirements.txt
注意:确保 requirements.txt 文件包含所有必要的依赖项。
3.3 安装 Nginx 和 Gunicorn/uWSGI 安装 Nginx:sudo apt install nginx -y 安装 Gunicorn(适用于 Flask/Django):pip install gunicorn 测试 Gunicorn 是否能运行你的应用:gunicorn -w 4 -b 0.0.0.0:8000 app:app对于 Django 项目,命令可能为:
gunicorn -w 4 -b 0.0.0.0:8000 your_project.wsgi:application 3.4 配置 Nginx 编辑 Nginx 配置文件:sudo nano /etc/nginx/sites-available/myapp 添加以下内容: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; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 启用配置文件并重启 Nginx:sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl restart nginx 3.5 配置 Supervisor(可选)为了确保应用在后台持续运行,可以使用 Supervisor 来管理进程。
安装 Supervisor:sudo apt install supervisor -y 创建 Supervisor 配置文件:sudo nano /etc/supervisor/conf.d/myapp.conf 添加以下内容:[program:myapp] command=/path/to/venv/bin/gunicorn -w 4 -b 127.0.0.1:8000 app:app directory=/path/to/your/project user=root autostart=true autorestart=true stderr_logfile=/var/log/myapp.err.log stdout_logfile=/var/log/myapp.out.log 启动 Supervisor 并加载配置:sudo supervisorctl reread sudo supervisorctl update sudo supervisorctl start myapp 3.6 配置 HTTPS(可选) 在阿里云控制台申请免费 SSL 证书。下载证书并上传到服务器。修改 Nginx 配置以启用 HTTPS:server { listen 443 ssl; server_name <你的域名>; ssl_certificate /path/to/your/cert.pem; ssl_certificate_key /path/to/your/key.pem; location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { listen 80; server_name <你的域名>; return 301 $host$request_uri; } 重启 Nginx:sudo systemctl restart nginx4. 测试与优化 访问你的域名或 IP 地址,确认应用是否正常运行。检查日志文件以排查潜在问题:tail -f /var/log/nginx/access.log tail -f /var/log/nginx/error.log 根据实际需求调整 Nginx 和 Gunicorn 的配置参数,例如工作线程数、超时时间等。
5. 总结
通过本篇教程,我们详细介绍了如何将 Flask 或 Django 应用部署到阿里云服务器。从基础环境配置到 Web 服务器的搭建,再到 HTTPS 的启用,每一步都旨在帮助你构建一个稳定、高效的生产环境。如果你在部署过程中遇到任何问题,欢迎在评论区留言讨论!
下一集我们将探讨如何使用 Celery 实现异步任务队列,敬请期待!
参考资料 阿里云官方文档Nginx 官方文档Gunicorn 官方文档Supervisor 官方文档
《Python实战进阶》No8:部署Flask/Django应用到云平台(以Aliyun为例)由讯客互联开源代码栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“《Python实战进阶》No8:部署Flask/Django应用到云平台(以Aliyun为例)”
上一篇
蓝桥杯web第三天
下一篇
信息学奥赛一本通(C++版)