小编Tom*_*hew的帖子

使用CherryPy/Cherryd启动多个Flask实例

根据SO/SF和其他站点的建议,我使用CherryPy作为WSGI服务器来启动我使用Flask构建的Python Web服务器的多个实例.每个实例都在自己的端口上运行,并且位于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}
Run Code Online (Sandbox Code Playgroud)

没有潜入我的Flask服务器太远,这是它的开始:

import flask
app = flask.Flask(__name__)

@app.route('/')
def hello_world():
    return "hello"
Run Code Online (Sandbox Code Playgroud)

以下是我在命令行上发布的与Cherryd一起启动的命令:

cherryd -c cherrypy.conf -i my_flask_server
Run Code Online (Sandbox Code Playgroud)

问题是:

  1. 在CherryPy中包装Flask仍然是在生产中使用Flask的首选方法吗? /sf/ask/341917901/

  2. 这是使用.conf文件启动CherryPy并导入Flask应用程序的正确方法吗?我已经搜索过CherryPy文档,但我找不到任何与我在这里特别要做的匹配的用例.

  3. 是在单个机器上启动多个CherryPy/Flask实例以执行多个cherryd命令(使用-d等进行守护程序)的正确方法,每个端口都使用唯一的.conf文件(8891,8892等)?或者有更好的"CherryPy"方法来实现这一目标吗?

感谢您的帮助和见解.

python nginx cherrypy werkzeug flask

10
推荐指数
1
解决办法
2503
查看次数

标签 统计

cherrypy ×1

flask ×1

nginx ×1

python ×1

werkzeug ×1