Создание трассировки для развертывания nginx без использования tracd

#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
  

Удачи!