2

ドリームホスト サーバーでセントリーを実行しようとしています。Dreamhost はパッセンジャー wsgi を使用して、django などの Python フレームワークを提供します。django アプリを実行できます。

私はvirtualenvを使用しており、pipを使用してsentryをインストールしているため、sentryのすべてのコードはvirtualenvディレクトリの下にあります。セントリーに与えられた指示では、ファイルを見つけるstartprojectための場所に配置できるディレクトリを作成するために を使用していません。passenger_wsgi.py

セントリーの Web サイトには、Nginx と uWSGI で実行されるプログラムの例が示されていますが、(この場合は) Apache とパッセンジャー wsgi に限定されています。

ドリームホストの構成でセントリーを実行することは可能ですか?もしそうなら、構成ファイルのようなものをどのように渡して動作させるのですか? 以下を使用して、ローカルで開始してセントリーと対話することができました。

sentry --config=/home/user/.sentry/sentry.conf.py start

だから私はすべての依存関係がホストシステムに存在することを知っています

4

1 に答える 1

3

OK、考えすぎたようです。Python の観点から、ファイル(sentry ディレクトリにあります) がモジュールとしてインポートされたときにwsgi.py呼び出されるのを忘れていました。sentry.wsgisentry が pip からダウンロードされたモジュールであり、それにアクセスする方法に戸惑いました。これは機能する削減されたソリューションです。

passenger_wgsi.py

import sys, os
INTERP = "/home/user/.virtualenv/sentry2/bin/python" 
if sys.executable != INTERP:
    os.execl(INTERP, INTERP, *sys.argv)
os.environ['SENTRY_CONF'] = "/home/user/.virtualenv/sentry2/sentry.conf.py"

import sentry.wsgi

信じられないかもしれませんが、それだけです。virtualenv インストールの下の sentry ディレクトリにある wsgi ファイルを見ると、django.core.handlers.wsgi のすべてのインポートが行われ、正しいアプリケーションが開始されることがわかります。

于 2014-03-07T20:13:10.553 に答える