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