1

我编写了一个烧瓶后端,并让它在我的本地网络(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?

4

1 回答 1

1

如果我可以提出建议,您是否尝试使用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的支持

您可以单独使用它,也可以与 gunicorn 或 circusd 一起使用,希望您有所 帮助!

于 2018-12-06T14:32:58.663 回答