使用CherryPy和Gunicorn挂载多个应用程序

时间:2018-10-01 18:29:06

标签: python gunicorn cherrypy

我的文件夹目录如下:

Root
   - App1
      - handlers.py
   - App2
      - handlers.py
   - wsgi.py

我想使用Cherrypy将应用程序挂载到它们各自的URL:server.com/app1、server.com/app2并创建Gunicorn的WSGI入口点。

wsgi.py:

import cherrypy
from App1.handlers import App1 as App1Handler
from App2.handlers import App2 as App2Handler

application = cherrypy.tree.mount(App2Handler(), '/app2', {})
cherrypy.tree.mount(App1Handler(), '/app1', {})

cherrypy.config.update({'engine.autoreload.on': False})
cherrypy.config.update({'environment': 'embedded'})
cherrypy.server.unsubscribe()
cherrypy.engine.start()

我可以进入app2,但是尝试到达app1时显示“找不到路径”。如何将两个应用程序都安装为WSGI入口点? Cherrypy的教程没有显示如何结合外部WSGI服务器和安装多个应用程序。

1 个答案:

答案 0 :(得分:0)

尝试在您的wsgi.py中进行以下更改:

cherrypy.tree.mount(App1Handler(), '/app1', {})
cherrypy.tree.mount(App2Handler(), '/app2', {})
application = cherrypy.tree

然后使用类似的内容启动

gunicorn wsgi:application