Python中的Flask应用程序侦听所有IP
我的烧瓶应用程序无法正常工作。这是我的代码:Python中的Flask应用程序侦听所有IP,python,flask,Python,Flask,我的烧瓶应用程序无法正常工作。这是我的代码: from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return "Hello World!" if __name__ == '__main__': app.run(host = '0.0.0.0') 当我在Linode服务器上运行应用程序时,控制台显示:Running on。我的实际服务器地址是:。但是,如果我将浏览器指向那里,
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return "Hello World!"
if __name__ == '__main__':
app.run(host = '0.0.0.0')
当我在Linode服务器上运行应用程序时,控制台显示:Running on。我的实际服务器地址是:。但是,如果我将浏览器指向那里,就会收到“权限被拒绝”消息。我的app.py文件位于var/www/html/mysite.com/public_html中。有人知道如何解决这个问题吗?我在host='0.0.0.0'中添加了一些其他帖子所描述的内容,但这似乎没有起到作用。任何关于这方面的建议都将不胜感激。谢谢 第一个检查是从服务器控制台运行wget:
wget 127.0.0.1:5000
wget <external ip of machine>:5000
不要关闭防火墙
对其作出反应:
/etc/init.d/iptables start
如果这解决了问题,那么您需要向iptables或您正在使用的任何防火墙添加一个例外
sudo iptables -A INPUT -p tcp --dport 5000 -j ACCEPT
如果可以,您可以通过运行来保存设置
sudo iptables save
否则,您添加的规则将在重新启动时丢失
但您可能不希望总是在端口5000上运行flask。而是将apache或nginx之类的东西放在你的flask应用程序前面来完成繁重的工作,或者使用mod_wsgi。在端口80上运行需要root权限
请参见仅将脚本放入公共web文件夹是不够的。您必须部署Flask,通常使用wsgi服务器和Web服务器。阅读详细信息。ran wget和我得到:连接到127.0.0.01 127.0.0.01 | 127.0.0.1 |:5000。。。失败:连接被拒绝。按你说的添加端口。再次运行wget,但仍然拒绝连接。
sudo iptables save