1

我正在运行配置了 3 个独立项目的 TRAC 服务器(tracd 服务)。每个项目都有自己的密码文件,以保持用户管理的独立性。TRAC 作为 Windows 服务启动,如https://trac.edgewall.org/wiki/0.11/TracStandalone 中所述 如果 HKEY_LOCAL_MACHINE\SYSTEM\ 中键“AppParameters”的字符串长度,启动 TRAC 服务器似乎不起作用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 服务器,因为字符串太长。这个问题已知吗?有解决方法吗?

4

1 回答 1

1

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

更广泛的解决方案:

您可以使用nssm运行该服务。

  1. 安装 nssm 并将其放在您的路径上。我使用巧克力包管理器安装:choco install -y nssm.
  2. 创建一个批处理文件,run_tracd.bat

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

  3. 运行nssm install tracd

    在此处输入图像描述

  4. nssm start tracd

您不必完全这样做。您可以避开该bat文件并在 nssm GUI 中输入参数。我不是 Windows 专家,但我喜欢拥有该bat文件,因为它更易于编辑。但是,可能存在我不知道的安全问题,或者将参数放在 nssm GUI 中可能更健壮(您不必担心意外删除 bat 文件)。以下也适用于我:

在此处输入图像描述

于 2018-03-21T21:49:39.933 回答