如何在个人电脑上为Flask应用绑定域名并部署?
个人电脑部署Flask应用并绑定域名分步指引
一、前期准备
- 先确认本地运行正常:执行你的Flask代码,在浏览器访问
http://localhost:50100,能显示"hello world"就没问题。注意:生产环境必须关掉debug=True,避免安全风险。 - 准备一个已备案的域名(国内网络下域名必须备案,国外网络或域名可跳过,但国内访问可能受限)。
- 查自己的公网IP:Linux/macOS执行
curl ifconfig.me,Windows在CMD里输nslookup myip.opendns.com resolver1.opendns.com就能看到。如果是动态IP(大部分家庭网络都是),后面要用到动态DNS解析。
二、替换开发服务器(生产环境更稳定)
Flask自带的app.run是开发用的,生产环境换用更靠谱的服务器:
Linux/macOS用Gunicorn
- 安装:
pip install gunicorn - 启动:
gunicorn -w 4 -b 0.0.0.0:50100 你的文件名:app(比如代码存在app.py里,就写app:app)
Windows用Waitress
- 安装:
pip install waitress - 启动:
waitress-serve --listen=0.0.0.0:50100 你的文件名:app
三、路由器端口映射(外网请求转本地)
家庭网络需要把外网请求转到你的电脑端口:
- 登录路由器后台(通常是
192.168.1.1或192.168.0.1,看路由器底部标签) - 找到「端口转发」或「虚拟服务器」选项
- 添加规则:
- 外部端口:可以设50100(和Flask端口一致),或者用80/443(默认HTTP/HTTPS端口,访问时不用输端口)
- 内部IP:你电脑的局域网IP(用
ipconfig/ifconfig查看,比如192.168.1.100) - 内部端口:50100(Flask监听的端口)
- 协议:选TCP(或TCP/UDP都选)
- 保存后重启路由器生效
四、域名绑定
静态公网IP场景
- 登录域名管理后台(比如阿里云、腾讯云域名控制台)
- 找到「DNS解析」,添加A记录:
- 主机记录:填
@(对应根域名,比如example.com)或www(对应www.example.com) - 记录值:填你的公网IP
- TTL:选默认10分钟即可
- 主机记录:填
- 等待10-60分钟解析生效,就能用域名访问应用了
动态公网IP场景
需要用动态DNS(DDNS)自动更新IP:
- 注册一个DDNS服务(比如花生壳、No-IP,或域名服务商自带的DDNS功能)
- 按照指引在电脑或路由器上安装DDNS客户端,它会自动检测IP变化并更新域名解析
- 完成后域名会始终指向你的动态IP,正常访问即可
五、安全提醒
- 务必关闭
debug=True,防止泄露调试信息和被攻击 - 路由器防火墙只开放必要端口(比如50100或80/443)
- 要启用HTTPS的话,给域名申请免费SSL证书(比如Let's Encrypt),用Nginx反向代理配置证书,提升访问安全性
- 长期开放端口要定期检查系统安全,防范网络攻击
内容的提问来源于stack exchange,提问作者Willem
相关产品推荐
相关产品推荐

