意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

Flask在服务器上运行后怎么通过公网IP访问

来源:恒创科技 编辑:恒创科技编辑部
2024-04-15 15:02:37

要在服务器上运行Flask并通过公网IP访问,你需要按照以下步骤进行操作:

1、安装Flask:

在服务器上安装Python和pip(如果尚未安装)。

使用pip安装Flask模块:pip install flask

2、创建Flask应用程序:

在你的工作目录中创建一个名为app.py的文件。

app.py文件中编写一个简单的Flask应用程序,如下所示:

“`python

from flask import Flask

app = Flask(__name__)

@app.route(‘/’)

def hello():

return ‘Hello, World!’

if __name__ == ‘__main__’:

app.run()

“`

3、配置服务器防火墙:

确保你的服务器防火墙允许外部访问Flask应用程序所使用的端口,默认情况下,Flask使用5000端口。

如果你使用的是云服务器,登录到云服务提供商的管理控制台,找到安全组或防火墙设置,并添加一个入站规则以允许来自任意IP地址的5000端口流量。

4、获取公网IP地址:

你可以通过多种方式获取公网IP地址,例如通过命令行工具、浏览器或其他在线服务,确保你获得的是服务器的公网IP地址。

5、启动Flask应用程序:

在服务器上打开终端或命令提示符窗口。

导航到包含app.py文件的工作目录。

运行以下命令来启动Flask应用程序:flask run,这将在本地主机上启动Flask应用程序,并显示一个URL,如http://127.0.0.1:5000/,请注意,这个URL仅适用于本地访问。

6、配置反向代理服务器:

由于你希望通过公网IP地址访问Flask应用程序,需要将请求转发到本地主机上运行的Flask应用程序,这可以通过设置一个反向代理服务器来实现。

一种常见的方法是使用Nginx作为反向代理服务器,在服务器上安装Nginx(如果尚未安装),编辑Nginx配置文件(通常位于/etc/nginx/sitesavailable/default),并将以下内容添加到其中:

“`nginx

server {

listen 80; # 监听HTTP请求的端口号,可以根据实际情况修改为其他端口号

server_name your_public_ip; # 将your_public_ip替换为你的实际公网IP地址

location / {

proxy_pass http://127.0.0.1:5000; # 将请求转发到本地主机上的Flask应用程序,即Flask默认运行的端口号5000

proxy_set_header Host $host;

proxy_set_header XRealIP $remote_addr;

proxy_set_header XForwardedFor $proxy_add_x_forwarded_for;

}

}

“`

保存并关闭配置文件,重新加载Nginx以应用更改:sudo service nginx reload(对于Ubuntu/Debian系统)或sudo systemctl reload nginx(对于CentOS/RHEL系统)。

现在,你应该能够通过你的公网IP地址访问Flask应用程序了,在浏览器中输入你的公网IP地址和端口号(默认为5000),例如http://your_public_ip:5000/,你应该看到返回的"Hello, World!"消息。

上一篇: 轻松搭建稳定高效,体验Linux云服务器 (linux云服务器) 下一篇: CF无法连接服务器?你可能需要尝试这些解决方案! (电脑玩cf老是连接服务器失败)