我在我的 Windows 服务器上运行 TeamCity。它是一个运行 TomCat 的基于 Java 的构建服务,占用了 300MB 的空间。我只是偶尔使用它,所以它并不值得一直运行,当其他服务(网站)可以使用它时会耗尽内存。
目前我有一个简单的受保护网页,可以在需要使用它时启动和停止服务。
我还实现了一个脚本来查看服务何时没有进行任何构建并自动关闭服务。
因此,当服务关闭时,转到 TeamCity 端口 (9090) 会导致无响应。我希望能够访问该端口,然后某些东西会自动启动该服务,然后我可以再次访问它。
是否可以有一个“中间人”应用程序/代理/数据包嗅探器来监听端口 9090,如果服务没有运行,启动服务并将所有请求转发到该服务?
我更愿意将其实现为 http 数据包嗅探器,以避免代理从 A 到 B 的所有请求的任何性能问题。
如果有人能指出我正确的方向,那就太好了,如果需要,我计划在 C# 中实现一些东西。