用多个独立项目启动TRAC服务器

2024-05-15 22:45:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在运行一个配置了3个独立项目的TRAC服务器(tracd服务)。每个项目都有自己的密码文件,以保持用户管理的独立性。TRAC作为Windows服务启动,如https://trac.edgewall.org/wiki/0.11/TracStandalone所述 如果HKEY\ U LOCAL\ U MACHINE\SYSTEM\CurrentControlSet\services\tracd\Parameters中的键“AppParameters”的字符串长度太长,似乎无法启动TRAC服务器。最大密钥长度似乎在260个字符左右。你知道吗

可以使用以下“AppParameters”键成功启动TRAC服务器:

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服务器了,因为字符串太长了。这个问题是已知的吗?有解决办法吗?你知道吗


Tags: 项目字符串服务器comauthconftracbalances
1条回答
网友
1楼 · 发布于 2024-05-15 22:45:11

您还可以通过使用-e option指定Trac环境父目录而不是显式列出每个环境路径来缩短命令。你知道吗

更广泛的解决方案:

您可以使用nssm运行服务。你知道吗

  1. 安装nssm并将其放到您的路径上。我使用chocolatey包管理器安装:choco install -y nssm。你知道吗
  2. 创建批处理文件run_tracd.bat

    C:\Python27-x86\Scripts\tracd.exe -p 8080 env1

  3. 运行nssm install tracd

    enter image description here

  4. 运行nssm start tracd

你不必这样做。您可以避免使用bat文件,并在nssmgui中输入参数。我不是Windows专家,但我喜欢使用bat文件,因为它更容易编辑。但是,可能存在我不知道的安全问题,或者将参数放在nssmgui中可能更可靠(您不必担心意外删除bat文件)。以下内容也适用于我:

enter image description here

相关问题 更多 >