Webfaction で Falcon を起動して実行しようとしています。私は正確にはネットワークの第一人者ではないので、これらのアプリケーションがどのように提供されるかを理解するのに苦労しています。
私のWebfactionアプリは次のように設定されていますmod_wsgi 4.5.3/Python 2.7
私の理解では、Falcon はどの 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 を実行するための手順もあると理解していますが、それが私の混乱の原因です - Webfaction サーバーは既に WSGI を実行していますか、それともまだ Gunicorn のようなものが必要ですか? Gunicorn を実行し続けるには cron が必要ですか?
ありがとう!
アップデート:
エラー ログを確認したところ、"application" という名前の変数がないという WSGI エラーを受け取りました。
だから私は変更しました:
wsgi_app = api = falcon.API()
に:
application = falcon.API()
これでエラーは解消されましたが、mydomain.com/things にアクセスすると、エラー 404 (見つかりません/存在しません) が表示されます。
これで、次のステップは何かという最初の質問に戻ります。URL が正しくルーティングされていないように見えるので、httpd.conf ファイルなどに関係している可能性が最も高いです。繰り返しますが、このような設定をライブで行うのはこれが初めてです。