我必须主持一个用户发布大量短信,图片,音频和视频文件的应用程序。 考虑它与fb消息服务非常相似 所以我们对继续使用apache或使用其他选项如nginx,lighttpd感到困惑 那么如何决定和选择一个而不是另一个以及为什么。 请帮助解答你的答案
答案 0 :(得分:0)
你可以使用nginx作为反向代理与apache。其中nginx将处理静态文件,而apache处理动态文件。
答案 1 :(得分:0)
您的问题涉及不同网络服务器架构的表面,分叉与线程。这篇来自Philip Greenspun about AOLServer的旧文章很好阅读,而且更多theoretically complete background article来自nginx wiki。
虽然像nginx这样的服务器在你必须回答很多(也很短/很小)的同时请求并且服务器不会浪费大量内存的情况下很方便,但是当涉及到这种情况时,事情会发生变化。你建立的应用程序。
这是一个非常大而复杂的应用程序,运行良好的PHP?您可以代理它并从让nginx发出静态文件中受益。所以Apache和PHP模块只做PHP工作,没有别的。或者你有长期运行自己运行的快速cgi进程?然后,在您的情况下,纯apache设置(使用轻量级编译的apache只包含所需的模块)也可以完全足够。
如果你使用前端服务器代理进行分割设置,有时候如何开发可视化上传的进度条有点不容易,顺便说一下。有些服务器会使用完整的上传文件并将其整合到后端。
但是,我可以说nginx是一个不错的选择,因为它可以很好地处理大量并行(keepalive)连接,甚至连接https连接。