电话
400 9058 355
本文详解如何将本地开发的 flask web 应用零成本部署到支持 python 的免费云平台(如 render),并完成自定义域名(如 example.com)的 dns 解析与 https 配置,全程无需服务器运维经验。
将 Flask 应用部署到自有域名(例如在 GoDaddy 购买的 yourdomain.com)是全栈开发者常见的需求。需要注意的是:Flask 是后端 Web 框架,依赖 Python 运行时和 WSGI 服务器(如 Gunicorn),因此不能像静态网站那样直接部署到 Netlify、Vercel 等前端托管平台——这正是你遇到 404 错误的根本原因:Netlify 只处理静态文件或 S

✅ 推荐免费方案:Render.com(首选)
Render 提供永久免费的 Web Service 实例(基于 Linux 容器),完全兼容 Flask + Gunicorn + PostgreSQL,并原生支持自定义域名与自动 HTTPS(Let’s Encrypt)。其 GitHub 自动部署、环境变量管理、日志查看等功能对开发者极为友好。
准备应用代码(确保可生产运行)
在项目根目录添加 runtime.txt 指定 Python 版本(如 python-3.11.8),并确保有标准启动方式:
# requirements.txt 示例 flask==2.3.3 gunicorn==21.2.0
# app.py(入口文件,必须可被 Gunicorn 导入)
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return "Hello from Flask on Render!"# Procfile(Render 识别启动命令的关键文件) web: gunicorn --bind $PORT:app:app --workers 1 --worker-tmp-dir /dev/shm
✅ 注意:$PORT 是 Render 注入的环境变量;app:app 表示 app.py 文件中的 app 实例。
推送代码至 GitHub 公共仓库
Render 支持一键连接 GitHub,自动监听 main 分支变更。
在 Render 创建 Web Service
绑定自有域名(GoDaddy 示例)
Host: www Value: myapp.onrender.com TTL: 1 hour
⚠️ 注意:根域名(@ 或 yourdomain.com)无法用 CNAME,若需绑定根域,请改用 ALIAS/ANAME 记录(GoDaddy 支持)或使用子域(推荐 www.yourdomain.com)。
启用 HTTPS(自动完成)
Render 在域名验证通过后(通常 1–24 小时),自动配置 Let’s Encrypt 证书并强制 HTTPS,无需额外操作。
| 平台 | 免费额度 | Flask 支持 | 自定义域名 | HTTPS | 备注 |
|---|---|---|---|---|---|
| Render.com | 750 小时/月(常驻服务) | ✅ 原生 | ✅(CNAME/ALIAS) | ✅ 自动 | 推荐首选,文档完善,响应快 |
| PythonAnywhere | 1 web app(512MB RAM) | ✅(需手动配置 WSGI) | ✅(仅限付费用户) | ❌(免费版无) | 免费版不支持自定义域名,需升级 |
| Railway.app | $5/月抵扣额度 | ✅ | ✅ | ✅ | 新用户赠送额度,适合短期测试 |
通过以上流程,你可在 30 分钟内完成 Flask 应用从本地到公网域名的完整上线。整个过程不产生费用,且后续维护仅需提交代码——真正实现“买完域名,就剩部署”。
邮箱:8955556@qq.com
Q Q:8955556
本文详解如何将Go官方present工具(用于生成HTML5...
PySNMP在不同版本中对SNMP错误状态(errorSta...
time.Sleep仅阻塞当前goroutine,其他gor...
PHPfopen()创建含特殊符号的文件名失败主因是操作系统...
WooCommerce中通过代码为分组产品动态聚合子商品的属...
io.ReadFull返回io.ErrUnexpectedE...
本文详解Yii2中控制器向视图传递ActiveRecord数...
本文详解为何通过wp_set_object_terms()为...
Pytest中使用@mock.patch类装饰器会导致补丁泄...
带缓冲的channel是并发安全的FIFO队列;make(c...