SO / SFやその他のサイトでの提案によると、私はCherryPyをWSGIサーバーとして使用して、Flaskで構築したPythonWebサーバーの複数のインスタンスを起動しています。各インスタンスは独自のポートで実行され、Nginxの背後にあります。以下は私にとってはうまくいくことに注意する必要がありますが、私は物事を間違った方法で行ってしまい、「偶然に」機能することに悩んでいます。
これが私の現在のcherrypy.confファイルです:
[global]
server.socket_host = '0.0.0.0'
server.socket_port = 8891
request.dispatch: cherrypy.dispatch.MethodDispatcher()
tree.mount = {'/':my_flask_server.app}
私のFlaskサーバーに深く入り込むことなく、次のように開始します。
import flask
app = flask.Flask(__name__)
@app.route('/')
def hello_world():
return "hello"
そして、Cherrydで起動するためにコマンドラインで発行するコマンドは次のとおりです。
cherryd -c cherrypy.conf -i my_flask_server
質問は次のとおりです。
CherryPy内にFlaskをラップすることは、本番環境でFlaskを使用するための好ましい方法ですか? https://stackoverflow.com/questions/4884541/cherrypy-vs-flask-werkzeug
これは、.confファイルを使用してCherryPyを起動し、Flaskアプリをインポートする適切な方法ですか?CherryPyのドキュメントを精査しましたが、ここで具体的に実行しようとしていることに一致するユースケースは見つかりません。
単一のマシンで複数のCherryPy/Flaskインスタンスを起動して、使用するポート(8891、8892など)ごとに一意の.confファイルを使用して複数のcherrydコマンド(-dなどでデーモン化)を実行する適切な方法はありますか?それとも、これを達成するためのより良い「CherryPy」の方法はありますか?
助けと洞察をありがとう。