我試圖讓Falcon在Webfaction上運行。我並不是一個網絡專家,所以我很難花時間圍繞這些應用程序的服務。Webfaction上的Python Falcon
我Webfaction應用程序被設置爲mod_wsgi 4.5.3/Python 2.7
據我瞭解,獵鷹將任何WSGI服務器上運行。當我修改我的mod_wsgi服務器時,它是否會自動配置爲像Falcon一樣運行?還是我還需要安裝Gunicorn之類的東西?
當我建立了我的webfaction的應用程序,我收到這樣的目錄結構:
app/htdocs/index.py
而且index.py文件裏面,我把在Falcon Tutorial
import falcon
class ThingsResource(object):
def on_get(self, req, resp):
"""Handles GET requests"""
resp.status = falcon.HTTP_200
resp.body = 'Hello world!'
# falcon.API instances are callable WSGI apps
wsgi_app = api = falcon.API()
# Resources are represented by long-lived class instances
things = ThingsResource()
# things will handle all requests to the '/things' URL path
api.add_route('/things', things)
我發現的例子理解也有運行WSGI的說明,但這就是我的困惑所在 - Web服務器已經運行WSGI,還是需要類似Gunicorn的東西?如果是的話 - 最佳配置方式是什麼?我需要一個cron繼續運行Gunicorn嗎?
謝謝!
更新:
我檢查錯誤日誌,並收到了WSGI誤差大約沒有一個名爲 「應用程序」 的變量,
因此,我改變:
wsgi_app = api = falcon.API()
到:
application = falcon.API()
這清除了t他錯誤,但現在當我訪問mydomain.com/things時,我得到一個錯誤404(找不到/不存在)。
因此,這又回到了我原來的問題,即接下來的步驟是什麼?看起來好像url沒有被正確路由,所以它很可能與httpd.conf文件或類似的東西有關 - 這也是我第一次實現類似這樣的設置。
我看不到你需要任何「目錄」塊。腳本重新加載默認開啓。使用''WSGIScriptAlias''時不需要''AddHandler'',而且您似乎沒有使用重寫規則。 –
根據你的Python代碼,當你從瀏覽器訪問「/ things''的URL路徑時,你必須在你的URL中使用。你沒有監聽''/''的路由。 –