簡體   English   中英

我如何用燒瓶扭曲跑步?

[英]How do I run twisted with flask?

我希望能夠在多個不同的目錄(exp: /example1 , /example2 ...等)上運行扭曲的服務器,所以我想我會使用燒瓶。 這是我到目前為止所擁有的:

from flask import Flask
from twisted.web.server import Site
from twisted.web.wsgi import WSGIResource
from twisted.internet import reactor
from twisted.web.proxy import ReverseProxyResource
from twisted.web.resource import Resource

app = Flask(__name__)
@app.route('/example1')
def index():
    return 'My Twisted Flask'

flask_site = WSGIResource(reactor, reactor.getThreadPool(), app)

root = Resource()
root.putChild('my_flask', flask_site)

site_example = ReverseProxyResource('www.example.com', 80, ''.encode('utf-8'))
root.putChild('example1', site_example)

reactor.listenTCP(80, Site(root))
reactor.run()

唯一的問題是它不起作用,我不確定我做錯了什么。 我感謝任何幫助,謝謝!

我的個人意見:在Twisted反應堆中運行Flask並不是一個好主意,因為當Flask處理請求時,Twisted的reactor被阻止。

我想你可能會對Klein感興趣,它提供類似於Flask的API,但是開箱即用的Twisted工作: http//klein.readthedocs.io/en/latest/

另一種選擇:我將把nginx看作Flask應用程序的反向代理而不是Twisted。 nginx在一個單獨的進程中運行,並且在Flask處理請求時不會被阻止。 https://www.nginx.com/resources/admin-guide/reverse-proxy/

您可以使用 Twisted web,如Flask 部署文檔中所述 這是我設法在我的機器上運行服務器的方法:

pip3 install twisted[tls]

export PYTHONPATH=${PYTHONPATH}:${PWD} # exports python path
twistd  web -n --port tcp:5000 --wsgi path-to-your-app-root --logfile log.txt

盡管在我的特定情況下啟動並運行服務器后,我遇到了一些問題,但這可能對您有用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM