如何将带有服务员服务器的Flask后端部署到Internet?

时间:2018-11-23 15:29:25

标签: python-3.x flask waitress

我编程了一个Flask后端,并使其可以在我的本地网络(wifi,以太网等)上工作。但是,我无法扩展它,因此可以通过外部搜索来实现。后端的代码如下所示:

import os
from flask import Flask, flash, request, redirect, url_for, send_from_directory
from waitress import serve
other imports...

app = Flask(__name__)
app.secret_key = os.urandom(24)
.....
if __name__ == '__main__':
serve(app,host='0.0.0.0',port=5000)

我应该如何为服务器提供一个外部IP?

1 个答案:

答案 0 :(得分:0)

如果我可以提出建议,您是否尝试使用gevent?它提供了WSGI独立服务器供您替换Flask随附的内置选项。

使用它非常简单:

pip install gevent

您可以像这样插入您的应用程序:

import os
from gevent.pywsgi import WSGIServer # Imports the WSGIServer
from gevent import monkey; monkey.patch_all() 
from flask import Flask, flash, request, redirect, url_for, send_from_directory


app = Flask(__name__)
app.secret_key = os.urandom(24)


if __name__ == '__main__':
    LISTEN = ('0.0.0.0',5000)

    http_server = WSGIServer( LISTEN, app )
    http_server.serve_forever()

Gevent还提供对SSL的支持

您可以单独使用它,也可以将其与gunicorncircusd一起使用 希望对您有帮助!