如何在本地Web服务器上托管Flask API?

时间:2019-03-19 11:13:54

标签: python apache api flask flask-restful

我制作了一个flask API,它将通过get http请求将输入目录作为输入参数。在本地计算机上的端口5000上工作正常。 现在,我希望该工作API在Web服务器上运行,以便可以通过Internet使用它。我尝试使用apache 2服务器来完成这项工作,但没有成功。

    # API
app = Flask(__name__)

@app.route('/')
def home():
    return  "HOME PAGE LOADED"

@app.route('/runDocumentManager', methods=["GET"])
def runDocumentManager():
    # pdf path
    file = request.args.get('input_path')

.
.
.
if __name__ == '__main__':
    app.run()

1 个答案:

答案 0 :(得分:1)

启动网站后,它将托管在localhost:5000
因此,您想先使其托管在您的网络上。这样做:

 app.run(host="0.0.0.0")

这将使您的应用在本地网络上运行。
然后,您将需要在路由器上转发它。这样一来,如果有人输入您的IP,它将把他们发送到您的路由器。
您希望路由器在那里将其路由到计算机的服务器。
因此,如果有人连接到 (您的IP):5000 ,那么它将把他们放在 (192.168.0.X):5000 (又名。您正在运行的服务器python网络服务器)。我强烈建议您仔细研究如何进行转发,因为它在不同的路由器上略有不同

通常您可以在以下任一位置找到它:

  1. https://192.168.0.1
  2. https://192.168.1.1
  3. https://192.168.2.1

您可能需要输入密码和用户名(通常两者均为“ admin”),但根据您的ISP可能有所不同。您也可以在线检查。