要在服务器上运行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!"消息。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/479057.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复