这是将Nginx用于静态内容服务的合理方法吗?

前端之家收集整理的这篇文章主要介绍了这是将Nginx用于静态内容服务的合理方法吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我需要设置一些VPS来提供静态内容(许多小文件).我计划使用Nginx,并希望设置它,以便我们能够相对容易地扩展.要求是:

>许多文件(至少数十万).
>小文件大小(小于10KB).
>相邻服务器上的应用程序不断添加文件.
>必须立即向所有Nginx服务器提供新文件.

我目前的计划是:

>拥有一个包含所有文件的NFS共享的“主”服务器.
>生成文件的应用程序仅与master交互.
>让多个Nginx服务器挂载此NFS共享.
>跨Ngi​​nx实例的负载平衡.

一个明显的问题是“主”服务器是单点故障(对此有任何补救措施吗?).还有其他我忽略的潜在问题吗?这里有哪些元素不能以这种方式很好地扩展?有人会建议另一种方法吗?

关于内存需求,我假设我应该尽可能多地给每个Nginx服务器,以便可以缓存热门文件(通过OS?Nginx?),不必经常从NFS共享中重新获取.

最后,我是不是疯了不使用CDN?

最佳答案
NFS无法扩展.它为每个请求增加了延迟,最终将成为一个巨大的瓶颈.我们在工作中遇到类似的问题,但是有照片(因此,文件更大),并编写了我们自己的软件来分片和分发它们.对于像你这样的几GB文件,你可以通过上传过程来完成对所有服务器执行HTTP PUT并在服务器脱机时进行重新同步.

或者以另一种方式解决:拥有一组(一组)中央服务器,其中包含所有文件和缓存反向代理(squid,pound,varnish),这些代理实际上为客户提供文件.

而且你不会疯狂不使用CDN.如果你不调查它是否值得,你是疯了:-)

猜你在找的Nginx相关文章