#python #wsgi #trac #spawning
#python #wsgi #трасса #порождение #trac
Вопрос:
Я пытаюсь запустить Trac на nginx.
Существует простое решение, которое заключается в запуске сервера tracd, но я пытаюсь этого избежать. Он не поддерживает сокеты unix.
Вместо этого я пытаюсь использовать порождение, которое должно быть способно запускать любое приложение WSGI.
Но я не знаю, как это использовать. После истощения у меня есть мой cgi-bin
каталог с trac.wsgi
в нем, но я не знаю, как запустить его с помощью Spawning.
Он не принимает имя файла в качестве аргумента, я должен предоставить имена модуля и приложения, например spawning my_module.my_wsgi_app
. Но как мне это сделать с trac.wsgi ?
Ответ №1:
Читая документы по созданию, я увидел, что он получает в командной строке в качестве первого параметра пунктирное имя объекта WSGI вашего приложения. Особенно для Trac, объект WSGI определен в trac.web.main.dispatch_request
[1]. Попробуйте передать это в Spawning.
Но помните, что для корректной работы Trac необходимы некоторые переменные среды, и это лишь некоторые из них: TRAC_ENV
указывающие на вашу среду Trac и PYTHON_EGG_CACHE
, где Python удалит любой загруженный файл egg.
Поскольку порождение не получает файл в качестве первого аргумента, вам не понадобится trac.wsgi
.
Вы можете попробовать это, запустив непосредственно из вашей командной строки.
$ TRAC_ENV=/path/to/your/trac-env PYTHON_EGG_CACHE=/tmp/.egg-cache spawning trac.web.main.dispatch_request
Удачи!