You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Hostinger VPS上部署Flask API?访问127.0.0.1:5000失败

Hostinger VPS上Flask API部署访问问题解决

问题根源

你当前启动的Flask开发服务器仅绑定了127.0.0.1,这个地址是VPS本地回环地址,外部浏览器无法直接访问;同时开发服务器性能弱、安全性不足,不适合生产环境使用。

临时测试方案(快速验证访问)

  1. 修改启动命令,让服务监听所有网卡:
    • 方式一:通过启动参数指定
      export FLASK_APP=app.py
      flask run --host=0.0.0.0 --port=5000
      
    • 方式二:修改app.py代码
      if __name__ == '__main__':
          app.run(host='0.0.0.0', port=5000, debug=True)
      
  2. 开放端口:
    • 在VPS终端执行ufw allow 5000/tcp(使用ufw防火墙的情况)
    • 登录Hostinger VPS控制面板,在防火墙规则中添加入站5000端口的允许规则
  3. 此时用浏览器访问http://你的VPS公网IP:5000即可测试

生产环境部署方案(推荐)

采用Gunicorn(WSGI服务器)+ Nginx(反向代理)的标准生产部署方案,步骤如下:

1. 安装依赖

# 更新系统包
apt update && apt upgrade -y

# 安装Gunicorn
pip install gunicorn

# 安装Nginx
apt install nginx -y

2. 配置Gunicorn服务(实现开机自启)

创建systemd服务配置文件:

nano /etc/systemd/system/flask_api.service

写入以下内容(注意替换WorkingDirectory为你的项目实际路径,ExecStart中的gunicorn路径可通过which gunicorn查询):

[Unit]
Description=Flask API Service
After=network.target

[Service]
User=root
WorkingDirectory=/root/barish
ExecStart=/usr/local/bin/gunicorn --workers=3 --bind=127.0.0.1:8000 app:app

[Install]
WantedBy=multi-user.target
  • --workers=3:建议设置为CPU核心数×2+1,可根据VPS配置调整
  • app:app:第一个app是你的Flask文件名(不含.py),第二个app是文件中创建的Flask实例名

然后启动服务并设置开机自启:

systemctl daemon-reload
systemctl start flask_api
systemctl enable flask_api

3. 配置Nginx反向代理

创建Nginx站点配置文件:

nano /etc/nginx/sites-available/flask_api

写入以下内容(替换server_name为你的VPS公网IP或已绑定的域名):

server {
    listen 80;
    server_name 你的VPS公网IP;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

启用配置并重启Nginx:

# 启用站点配置
ln -s /etc/nginx/sites-available/flask_api /etc/nginx/sites-enabled/

# 验证配置正确性
nginx -t

# 重启Nginx
systemctl restart nginx

4. 开放端口

# 开放80端口(HTTP)
ufw allow 80/tcp

# 重启防火墙生效
ufw reload

同时在Hostinger VPS控制面板的防火墙规则中添加入站80端口的允许规则。

5. 验证访问

直接用浏览器访问http://你的VPS公网IP即可正常访问Flask API。

内容的提问来源于stack exchange,提问作者Mohamed Azim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 03:25:55