在apache上運行cherrypy與mod_wsgi以及另一個php應用程序。 cherrypy應用程序不是安裝在根目錄上,而是通過apache配置文件中的WSGIScriptAlias安裝在'localhost/apps/myapp'之類的東西上。WSGI應用程序中的cherrypy和相對路徑
在testapp.py,我曾嘗試以下,當我嘗試訪問本地主機/應用/ MYAPP在瀏覽器中:
app = cherrypy.tree.mount(MyApp(), '', 'settings.config') #FAILS WITH 404
和
app = cherrypy.tree.mount(MyApp(), '/apps/myapp', 'settings.config') # WORKS
第一個案例失敗的原因cherrypy希望位於服務器根目錄,而不是相對於通過apache中的WSGI掛載的位置。
有沒有一種首選的方法讓cherrypy應用程序相對於他們在apache下安裝的WSGIScriptAlias路徑工作?
基本上,我將在幾個不同的路徑下運行幾個cherrypy應用程序,並且會更喜歡如果apache處理調度(即cherrypy只運行應用程序並且不擔心相對路徑)。這樣,我可以避免每次更改服務器上的某些相對路徑時更新幾個不同的python文件/配置文件。
有什麼建議嗎?
順便說一句,在CherryPy的應用正在傳遞到WSGI應用程序如下:
app = cherrypy.tree.mount(HelloWorld(), '', 'settings.config')
return app(environ, start_response)