2403_85751052 2025-06-03 19:38 采纳率: 50%
浏览 25

宝塔部署flask+vue前后端

目前是跟着教程一步步做,做到最后一步的时候出现问题了。在本地电脑部署那些都已经没问题的。
本地电脑上的app.py:

from flask import Flask, request
from flask_cors import CORS

app = Flask(__name__)
# 添加CORS同源规则
CORS(app)


@app.route('/')
def index():
    return 'hello world'


@app.route("/api/getdata")
def api():
    return '我是后端的信息'


@app.route("/api/postdata", methods={'POST'})
def postData():
    data = request.data
    if data:
        # 需要编码为utf-8正常显示中文
        data = data.decode('utf-8')
        print(data)
        return '正确'
    else:
        return '错误'


if __name__ == '__main__':
    app.run(debug=True, port=5000)

本地电脑上的App.vue:

<script setup>
import axios from 'axios'
function getData() {
  // 发送axios请求,地址是本地主机在5000端口开放的Flask项目
  axios.get('http://公网IP:1145/api/getdata').then((res) => {//前端端口选为1145
    console.log("接收到的信息为:",res.data);
  })
}
 
function postData() {
  // 发送axios请求,地址是本地主机在5000端口开放的Flask项目
  axios.post('http://公网IP:1145/api/postdata',{name:'张三',age:20}).then((res) => {    
    console.log(res.data);
  })
}
 
</script>
 
<template>
<button @click="getData">接收数据</button>
<button @click="postData">传送数据</button>
</template>

已重新打包,并上传程序。

img

部署python项目,后端端口选为5000,已启动并下载flask和flask_cors:

img

选用1.24版本的Nginx:

img

配置文件(教程中提到需要修改的部分):

server
    {
        listen 1145;
        server_name localhost;
        index index.html index.htm index.php;
        root  /www/wwwroot/dist;

        #error_page   404   /404.html;
        include enable-php.conf;
        
        location ~ ^/api/
        {
          proxy_pass http://公网IP:5000$request_uri;
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

安全组已放行(租的阿里云服务器,那上面也放行了的):

img

img

以IP:前端端口的方式访问会出现这个:

img

以IP:后端端口的方式访问是这个:

img

请问我是哪一步做错了呢?

  • 写回答

5条回答 默认 最新

  • 阿里嘎多学长 2025-06-03 19:43
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    问题解答

    你遇到了部署 Flask 和 Vue.js 前后端应用到宝塔服务器的问题。根据你提供的信息,问题可能是关于部署的配置问题。

    首先,检查宝塔服务器的 Flask 和 Vue.js 支持情况。宝塔服务器是否已经安装了对应的插件?如果没有,可以尝试安装对应的插件。

    其次,检查 app.py 文件的配置是否正确。特别是 Flask 应用程序的配置,例如端口号、debug 模式等。

    最后,检查 Vue.js 应用程序的配置是否正确。特别是 Vue.js 服务器端渲染的配置,例如 API 服务器的 URL 等。

    如果你已经检查了这些问题,仍然无法解决问题,可以提供更多的日志信息和配置文件,以便更好地帮助你解决问题。

    解决方案

    1. 检查宝塔服务器的插件安装情况。
    2. 检查 app.py 文件的配置是否正确。
    3. 检查 Vue.js 应用程序的配置是否正确。
    4. 提供更多的日志信息和配置文件,以便更好地帮助你解决问题。
    评论

报告相同问题?

问题事件

  • 修改了问题 6月3日
  • 创建了问题 6月3日