在您使用 Apache 运行 PHP/Python 脚本、使用 lighttpd 运行静态文件的设置中,但只有一个监听外部 IP 地址并充当另一个监听环回接口的代理,那么应该是哪个,为什么,这有关系吗?
答案1
两者中较轻的那个(lighttp)应该是代理,只有当脚本需要运行时才会打扰较重的 Apache 采取行动。
当然,对静态文件的请求很少见,但在这种情况下,您不想在两个服务器之间拆分作业,因为这会使事情变得过于复杂。
作为替代方案,您是否考虑过仅使用 php 和 python 作为 FastCGI 进程运行 lighttp?虽然 PHP 作为模块可能比 FCGI 快一点,但这种差异可能不值得运行两个服务器的麻烦,而且可能被代理安排完全抵消。
另一种选择是,如果服务器可以分配第二个 IP 地址,则从另一个 IP 地址提供静态内容,这样两组请求都无需通过代理运行。您也可以在同一个地址上使用不同的端口,但是如果您的一些查看者位于非常严格的防火墙后面,不允许非端口 80 的流量通过,他们可能会遇到麻烦。
答案2
如果这是在同一台服务器上,则不应安装多个 HTTP 服务器。您只需启用 Apache 服务器来监听外部 IP 地址 :-)
在一台机器上安装两个 HTTP 服务器是毫无意义的。如果这是两个服务器的设置,那么这将是一个好主意,这样后端机器就不容易受到来自互联网的攻击。