[英]hg serve as Windows service
我想在 Windows 服务器上使用 mercurial。 由于我想通过 http 拉取和推送, hg serve
似乎是最简单的解决方案。 它工作正常,但我每次重启后都重新启动它,所以我需要它作为 Windows 服务。 使用sc create ...
手动安装它不起作用,它创建了一个服务,当我尝试启动它时会引发错误。 我发现了一些对这个问题的引用
但如果有的话,它们的记录很差。 (当然,我可以安装一个 web 服务器并使用 hgweb,但它似乎更复杂。)你有没有经验如何轻松设置hg serve ... <many args>
作为 Windows 服务?
更新:感谢不同的方法。 我们留在hg serve
,我们公司的 windows-guy 设法将它安装为不太合适的服务。
或者你可以使用SCM-Manager
使用诸如 apache/lighttpd/iis 之类的 Web 服务器可以提供许多功能,例如身份验证或 HTTPS 支持。 但是“hg serve”是一个简单而快速的解决方案。 此外,'hg serve' 可以为多个存储库提供服务。 但是 hg serve 本身不能作为 Windows 服务运行,因为它无法响应 Windows 控制命令。 因此,使用HgService是使“hg serve”成为真正的 Windows 服务的好方法。
这是我的配置示例。 我遵循以下步骤:
[paths]
/ = C:\Repositories\*
[web]
style = monoblue
<add key="CommandLine" value="hg.exe"/>
<add key="CommandLineArguments" value="serve --prefix=/hg --address 0.0.0.0 --port 80 --web-conf c:\Repositories\hgweb.config -A access.log -E error.log" />
希望这一系列的动作也能对你有所帮助。
您应该查看Jerremy Skinner关于此主题的博文。 他解释了如何在 IIS7 上托管 Mercurial 存储库并使用一些不错的 url 路由。 我在我的机器上做了它,它就像一个魅力。 它需要一些配置,但这是值得的。
我注意到他的帖子中有一个错误是他正在写一个hgwebdir.cgi ,但我找不到那个。 我确实找到了一个hgweb.cgi ,复制粘贴这个文件也是如此。
基于 Apache 的替代方案: HgServe - Apache 上适用于 Windows 的 Mercurial 存储库服务器
hg serve 与NSSM一起工作正常!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.