Запуск сервера TRAC с несколькими независимыми проектами
Я использую сервер TRAC (сервис tracd) с настроенными 3 независимыми проектами. Каждый проект имеет свой собственный файл паролей, чтобы управление пользователями было независимым. TRAC запускается как служба Windows, как описано на https://trac.edgewall.org/wiki/0.11/TracStandalone Кажется, что запуск сервера TRAC не работает, если длина строки ключа AppParameters в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\tracd\Parameters слишком длинный. Максимальная длина ключа составляет около 260 символов.
Сервер TRAC может быть успешно запущен с помощью следующей клавиши "AppParameters":
C:\Python27\Scripts\tracd-script.py -p 80 --auth=',C:\Trac\Moisture\conf\.htpasswd,mt.com' --auth=',C:\Trac\Balances\conf\.htpasswd,mt.com' --auth=',C:\Trac\Weights\conf\.htpasswd,mt.com' C:\Trac\Moisture C:\Trac\Balances C:\Trac\Weights
Сервер TRAC не запускается со следующим ключом "AppParameters":
C:\Python27\Scripts\tracd-script.py -p 80 --auth='Moisture,C:\Trac\Moisture\conf\.htpasswd,mt.com' --auth='Balances,C:\Trac\Balances\conf\.htpasswd,mt.com' --auth='Weights,C:\Trac\Weights\conf\.htpasswd,mt.com' C:\Trac\Moisture C:\Trac\Balances C:\Trac\Weights
Если я добавлю четвертый проект, я больше не смогу запустить сервер TRAC, потому что строка слишком длинная. Известна ли эта проблема? Есть ли обходной путь?
1 ответ
Вы также можете сократить свою команду, используя опцию -e для указания родительского каталога среды Trac, вместо явного перечисления каждого пути среды.
Более обширное решение:
Вы можете запустить сервис с NSSM.
- Установите nssm и поместите его на свой путь. Я установил с помощью шоколадного менеджера пакетов:
choco install -y nssm
, Создать командный файл,
run_tracd.bat
:C:\Python27-x86\Scripts\tracd.exe -p 8080 env1
Бежать
nssm install tracd
:Бежать
nssm start tracd
Вам не нужно делать это в точности так. Вы могли бы избежать bat
файл и введите параметры в графический интерфейс nssm. Я не эксперт по Windows, но мне нравится иметь bat
файл, потому что его легче редактировать. Тем не менее, могут возникнуть проблемы с безопасностью, о которых я не знаю, или может быть более надежно поместить параметры в графический интерфейс nssm (вам не нужно беспокоиться о случайном удалении файла bat). Следующее также работает для меня: