Нерест 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

Удачи!

Другие вопросы по тегам