我正在运行一个小的VPS(512MB-Ubuntu 10.04),我试图让Nginx坐在前面,并提供所有的图像/静态的东西,只有在需要时发送PHP请求到Apache2。 我想知道是否需要为Nginx中的每个站点设置一个虚拟主机,然后在Apache中也是一样,还是有更好的方法呢?
我一直在与它斗争,似乎过于复杂。
干杯,斯科特
只有当您希望nginx根据主机名作出不同的响应时,您才需要在nginx中使用虚拟主机。 所以,例如,如果你总是希望nginx将请求代理到apache,那么不需要vhost。 如果你希望它总是代理请求到Apache,如果文件名不以“.png”结尾,和/或请求的文件不存在于给定的目录中,那么你仍然不需要虚拟主机。
但是如果你想让nginx根据主机名在不同位置search文件,那么除非有一个简单明了的方法,你可以告诉nginx将主机名转换成文件位置,那么你最终可能会设置一个虚拟主机为每个主机名 – 这样你可以告诉它在哪里find文件。
我会在apache和nginx中为每个创build一个虚拟主机。 如果你真的有很多的虚拟主机,你可以编写一个快速的shell脚本来从另外一组产生一组初始configuration。
从长远来看,我认为这是最简单的select,因为在系统configuration完成之后,在站点级别更容易进行更改。