How to enable port 5000 on AWS ubuntu [closed]

杀马特。学长 韩版系。学妹 提交于 2019-12-03 06:08:06

In addition to allowing access to port 5000 via the Security Group, you also need to ensure that your app is listening on an IP which can accept TCP connections from outside. To listen on all IPs, in your app, use:

if __name__ == '__main__':
    app.run(host='0.0.0.0', debug = False)

Instead of:

if __name__ == '__main__':
    app.run(host='127.0.0.1', debug = False)

To see what address your application is listening on, you can run this command:

netstat -an | grep :5000

After making these changes, you will want to restart your Flask application.

I'm assuming you're just using this for development and testing, since you're keeping it on port 5000, but, when you're ready to deploy your application into production, you need to put it behind a real webserver. I would recommend using nginx with uWSGI. Here is a guide to configuring Flask + nginx + uWSGI, and here is the official documentation from Flask on the subject.

In addition to @Will's answer, its possible that whichever Ubuntu AMI you're using came with restrictive iptables rules by default. Use:

sudo iptables -L

to list any current rules that exist. Use:

sudo iptables -A INPUT -p tcp --dport 5000 -j ACCEPT

to open the port if necessary.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!