我想要一个 apache 的替代品,lighthttpd 有内存泄漏问题所以我不能使用它,我一直读到 nginx 适合静态内容但是它适合 php-mysql 动态视频共享内容吗?
我也读到过一个好的选择是同时运行 apache 和 nginx 来处理动态内容,但我根本不想使用 apache - apache 使用了太多的 RAM,这就是为什么我首先想要使用 nginx!
我的最后一个问题是,lighthttpd 是否仍然受到内存泄漏问题的困扰,还是他们已经修复了这个问题,因为我很想使用它,我在某处读到 YouTube 使用它,而且我的网站与 YouTube 非常相似(虽然不一样,但如果它对 YouTube 来说足够好,那么对我来说就足够好了)
答案1
坦白地说,任何运行 nginx 代理到 Apache(或反之亦然)的人都需要检查一下自己的头脑。这没有任何帮助,我希望所有推荐它的文章都消失殆尽。
好了,nginx 可以很好地处理动态内容,正如您所期望的那样——它将所有动态内容代理到后端应用程序服务器,这是处理此类内容的最佳模型,因为它允许应用程序服务器以应用程序用户的身份运行,而不是以 Web 服务器用户的身份运行(多年来,Web 服务器用户一直是安全问题的一个源头)。从速度上讲,它比 Apache 运行速度稍慢mod_php
,但并不至于慢到让您察觉不到的程度(您的脚本运行时间将远远超过将请求分流到应用程序服务器所增加的时间)。
至于 lighttpd,我认为它是一种过时的技术。它在当时非常出色,但 nginx 已经过时了,是时候让这个老家伙退休,回到安静的牧场了。
答案2
恕我直言,将 nginx 代理到 Apache 或反之亦然是愚蠢的做法,尤其是当服务器在 Un*x 系统上时。可以将 nginx 代理到 php 的 unix 套接字。虽然建议使用 unix 套接字,但 tcp 套接字的性能远优于代理到 Apache。
但是我还没找到让nginx监听多个php socket的方法,多线程可能比较头疼,Lighttpd可以根据 来启动多个php进程/etc/lighttpd/conf.d/fastcgi.conf
。