我有一个用于不再使用的旧网站的“存档”服务器,但我想将它们作为我的简历/作品集的一部分保持在线。
他们需要不同的 apache 和 php 版本和设置,所以我在不同的端口上运行多个 apache,在 nginx 反向代理后面。
但是,这些网站很少有访问者。两次访问之间可能需要几天甚至几周的时间,所以我认为让所有这些 apache 实例一直运行是对内存和 CPU 的巨大浪费。
我想做的是让 nginx 按需启动相应的 apache 服务器。也许是这样的:
我希望 apache 守护进程以 PHP 作为模块加载。我希望访问者浏览网站时体验既快又好,但是,第一次请求的加载时间几秒钟是没有问题的。有些站点是 AJAX 密集型的,因此不能为每个请求加载 apache。
我没有找到任何明显的方法来做到这一点。有没有人对类似的设置有任何想法或经验?是否有其他反向代理软件(除了 nginx)可以做到这一点?
(当然,我还需要一种在不活动时关闭 apache 的方法,但这对于 cron 作业来说非常简单,只需检查 apache 的 access.log 中是否发生了某些事情。)
顺便说一句.. 服务器正在运行 Debian Lenny。
编辑/我的解决方案:
我通过使用https://github.com/nodejitsu/node-http-proxy为 node.js编写脚本解决了这个问题。
// I'm using http-proxy to make the proxying:
var server = httpProxy.createServer(function …Run Code Online (Sandbox Code Playgroud)