работает cherrypy с mod_wsgi на apache вместе с другим приложением php. Приложение cherrypy НЕ монтируется в root, а скорее на что-то вроде 'localhost / apps / myapp' через WSGIScriptAlias в конфигурационном файле apache.
В testapp.py я попробовал следующее, и когда я пытаюсь получить доступ к localhost / apps / myapp в браузере:
app = cherrypy.tree.mount(MyApp(), '', 'settings.config') #FAILS WITH 404
и
app = cherrypy.tree.mount(MyApp(), '/apps/myapp', 'settings.config') # WORKS
В первом случае происходит сбой, потому что cherrypy ожидает, что он находится в корне сервера, а не относительно того, где он монтируется через WSGI в apache.
Есть ли предпочтительный способ заставить приложения cherrypy работать относительно пути, который они монтируют в apache под WSGIScriptAlias?
По сути, я буду запускать несколько приложений cherrypy по нескольким различным путям и предпочел бы, чтобы apache обрабатывал диспетчеризацию (то есть cherrypy просто запускает приложение и не беспокоится об относительном пути). Таким образом, я могу избежать обновления нескольких разных файлов python / config каждый раз, когда меняются некоторые относительные пути на сервере.
Есть предложения?
Кстати, приложение cherrypy в настоящее время передается в приложение wsgi следующим образом:
app = cherrypy.tree.mount(HelloWorld(), '', 'settings.config')
return app(environ, start_response)