我想在我的dreamhost服务器上运行sentry。 Dreamhost使用乘客wsgi来提供像django这样的python框架。我能够运行django应用程序。
我正在使用virtualenv并使用pip安装sentry,因此sentry的所有代码都位于virtualenv目录下。为哨兵提供的说明不使用startproject
来创建一个目录,您可以将其放在某个地方,以便查找passenger_wsgi.py
文件。
哨兵网站提供了在Nginx和uWSGI下运行的程序示例,但我仅限于(在这种情况下)apache和乘客wsgi。
是否可以在dreamhost的配置下运行sentry,如果是这样的话,如何将配置文件传递给它以使其工作。我已经能够在本地启动并与哨兵互动,使用:
sentry --config=/home/user/.sentry/sentry.conf.py start
所以我知道主机系统上存在所有依赖项
答案 0 :(得分:3)
好吧,看起来我好像在思考它,我忘了从python的角度来看,当作为模块导入时,文件wsgi.py
(在sentry目录中找到)被称为sentry.wsgi
。我很困惑,因为哨兵是从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的所有导入并启动正确的应用程序。