2016-08-24 2 views
1

私はFalconをWebfactionにアップして実行しようとしています。私はまさしくネットワークの専門家ではないので、私はこれらのアプリケーションがどのように提供されるかについて頭を悩ましています。私Webfactionアプリが私の理解へmod_wsgi 4.5.3/Python 2.7WebFactionのPython 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を実行するための指示があることを理解していますが、それは私の混乱がWSGIをすでに実行しているWebFactionサーバーであるか、またはGunicornのようなものが必要ですか? Gunicornを稼動させ続けるためにcronが必要ですか?

ありがとうございます!

更新:

wsgi_app = api = falcon.API() 

をする:

私は、だから私は変更エラーログをチェックし、 "アプリケーション" という名前の変数を持っていない程度WSGIのエラーを受信し、

application = falcon.API() 

これがクリアされました彼はエラーですが、mydomain.com/thingsにアクセスすると404エラー(見つからない/存在しません)が表示されます。

これは、次のステップが何であるかという私の元の質問に私を戻しますか? URLが正しくルーティングされていないかのように見えるので、httpd.confファイルなどと関連する可能性が最も高いです - これは私の最初の設定です。

答えて

0

ここに答えがあります(少なくとも最初の質問については、私は同じプロジェクトで近い将来別のものを混乱させてしまいます)。

基本的に、ドメインにマウントするアプリケーション&を設定するときに、Webfactionが生成するindex.pyファイルにチュートリアルコードを入れることができました。だから、私のチュートリアルのコードは次のようなものになります。私はWebfactionのファルコンアプリを起動するための多くの情報を見つけることができなかったので

import falcon 

class ThingsResource(object): 
     def on_get(self,req,resp): 
       resp.status = falcon.HTTP_200 
       resp.body = 'Hello World!' 

api = application = falcon.API() 

things = ThingsResource() 

api.add_route('/things', things) 

を、私はWebfaction(この例では、フラスコ)上で実行する方法と同様のアプリケーションを見ました。そう言われて、私はFlask docuでWebfactionに設定する方法を示すスニペットを見つけました。私のアプリケーション全体が動作することを意味するかどうかはわかりませんが、Falconのチュートリアルコードが少なくとも機能することはわかります。私は、これは同様の問題を持つ誰にも役立ちます願っていFlask Webfaction

WSGIPythonPath /home/yourusername/webapps/yourapp/htdocs/ 
#If you do not specify the following directive the app *will* work but you will 
#see index.py in the path of all URLs 
WSGIScriptAlias//home/yourusername/webapps/yourapp/htdocs/index.py 

<Directory /home/yourusername/webapps/yourapp/htdocs/> 
    AddHandler wsgi-script .py 
    RewriteEngine on 
    RewriteBase/
    WSGIScriptReloading On 
</Directory> 

:基本的に、私はここで見つけるの指示に従って、httpd.confファイルを編集する必要がありました。

+1

「ディレクトリ」ブロックが必要ないことがわかりました。スクリプトのリロードはデフォルトでオンになっています。 '' WSGIScriptAlias''を使うときは '' AddHandler''は必要なく、あなたが書き換えルールを使っているようには見えません。 –

+0

あなたのPythonコードに基づいて、あなたのブラウザから ''/things''のURLパスをサイトにアクセスする際には、あなたのURLで使わなければなりません。あなたは ''/''を聞くルートを持っていません。 –

関連する問題