踩坑记录下。
是这个样子的,前几天帮别人部署Python的Flask项目到云服务器上,然后在
app.run(host="xxx.xxx.xxx.xxx",port=8080)
这行代码中,xxx.xxx.xxx.xxx代表我的IP地址,port代表我的端口号。
然后不是要部署到服务器上么,所以我的这个IP地址理所应当就肯定要是我的服务器的IP地址了。
但是,它老是给我报[OSError]
(问题解决了,图当时没保存,是后来从网上找的,我的是Errno99,不是98,下图显示的是98,不过这些小细节不重要了hhh)
怎么说都是在bind函数那里有问题,然后报OSError: [Errno 99] Cannot assign requested address。
经过很多很多尝试之后(具体经过了怎样一个坎坷的过程就不赘述了),最后的结论就是,在你的服务器上,这里host后面所跟的,必须是内网IP,而不是公网IP。
但是!在这里写内网IP之后,你在浏览器访问的时候还是用公网IP去进行访问!
如果你不知道你的内网IP的多少,那么,你可以写”0.0.0.0”,它表示你服务器上所有的IP都会被监听。
也就是说,你可以这样弄:
app.run(host="0.0.0.0",port=8080)
然后你再用你的公网IP去在浏览器中访问。
就好了。
你以为这就完了吗?
注意,注意,注意!!!
端口号记得开!还有,访问的时候不要开 ti zi!要不然还是进不去的!
(这些都是血的教训