flask部署阿里云服务器,公网ip访问不了(一些问题及解答)

本文分享了在阿里云服务器上部署Flask应用时遇到的问题及解决方案,包括配置Flask应用使其可被公网访问、解决端口占用问题等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

flask部署阿里云服务器,公网ip访问不了(新手踩坑之路)

好朋友,你是不是一个后端初学者?相信到目前为止,你已经拥有一定的后端基础,在发现单机本地的后端开发已经无法满足你,于是你刚买一个云服务器。尽管你对云服务器一窍不通,但是你相信这个万能的互联网,相信这博学的csdn,相信各位热心的技术大佬,于是你对着网上教程准备大展身手,自学成才,一鸣惊人。
从选择云服务器系统开始,一步步跟着教程安装宝塔,接着uwsgi,又ngnix,虽然你不知道这些是啥,但是技术大佬的教程就是这样一条龙安排的,你觉得肯定是有用的东西,于是你全装完了,兴高采烈。然后打开pycharm,把文件传上云服务器,配置好pycharm上使用云服务器上的python解释器,一点运行。生成代码运行结果,点击网址,出现下图,然后你的噩梦就开始了。
无法访问

你一开始不以为然,区区一个小bug,热茶解bug不在话下。但渐渐地你发现事情不太简单,一个上午过去,网上教程花里胡哨,都是看不懂的东西,照做了却话没有解决你的问题。你,使出浑身解数,看遍csdn所有高浏览量文章,查遍所有关键词,为此烦恼一两天,困苦连天,怀疑人生时,希望这篇文章额可以帮助到你。–《作者自述及寄语》

新手角度看问题:(我用的是flask框架。)

问题一:编写好flask代码在服务器跑成功却访问不了就如图:

噩梦
解决方法:

  1. 确保flask代码在服务器中运行成功,出现如下界面:

pycharm远程服务器运行结果

  1. 代码中需要写成
app.run(host=0.0.0.0,port = 端口号)

这样跑出来的是服务器私有ip的网址。
结果描述

  1. 不能直接点击该地址,直接点击该地址就是出现问题的关键,我应该就是在这里卡两天。正确方法是,在浏览器网址输入栏输入你云服务器的 公网ip:端口号(注意:英文的:

  2. 此时如果云服务器安全组的端口已经设置打开的话,应该就可以正常打开你flask配置好的首页了。 否则请去打开服务器安全组端口设置。我的是主页是hello world。
    成功用服务器公网ip打开网页
    !!!一定要记得在阿里云服务器安全组把所用端口添加上,保证端口通道开了,同时,如果使用宝塔面板的话,也需要去宝塔面板把端口放行,二者缺一不可。

在这里插入图片描述

还有小技巧是,宝塔上可以看到端口状态:
在这里插入图片描述
状态正常,表示端口已被占用,你搭建的flask服务器在使用的端口在生效,可以被用户访问;
(一些特殊的端口号是服务器自动执行运行,是通用协议端口,不要乱改)
未使用,就是还没开放,用户不可以访问。

问题二·:配置了nginx,出现端口占用

端口占用

解决方法:
1)在服务器连接软件(我用的xshell)命令行查看端口信息
指令:lsof -i:端口号
端口信息

2)可以看到是nginx在代理,就是这个端口号被nginx一直接管运行,你没有办法抢用。(这个特性应该可以用在以后完成开发,保证端口运行状态)。
要想使用编辑该端口号,需要关闭nginx进程,释放端口号,或者直接暂停nginx运行。
一些指令:

启动nginx:
/usr/local/nginx/sbin/nginx
停止:
/usr/local/nginx/sbin/nginx –s stop
强行关闭:
pkill nginx

指令操作详情:
【Python】Flask阿里云部署填坑记(Centos 7)_YzzHA 的博客

  • 注:也有可能是其他在代理,如python,用指令直接关闭python进程就好。
  • 结束端口占用进程方法:
  1. 使用指令 lsof -i:端口号 查询进程信息
    在这里插入图片描述
  2. 使用 kill (PID) 指令结束进程
    在这里插入图片描述
  3. 再用lsof -i指令查一下,发现进程消失。

另:
不能在本地电脑,妄图直接

app.run(host='服务器ip',port=端口号)

实践说明这个不可行。如下
请添加图片描述
结果:
请添加图片描述

目前是我遇到的一些问题解决,供大家参考学习,希望对你有帮助。如有错误之处,敬请指正。

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值