本文共 609 字,大约阅读时间需要 2 分钟。
将网站程序放在tmpfs下
然后用nginx直接做对外服务呢varnish或者squid都是利用内存和它的连接数来做到加速服务.但是如果是squid->nginx->fastcgi->mysql这样当中很多连接是开销在内部的连接之中而且如果客户端请求php.squid还需要将请求再转发至nginx,然后nginx再转发至fastcgi对于动态内容的多加了一个步骤.考虑到nginx有了不低于squid以及varnish的连接能力那么可以将网站程序直接放在tmpfs中这样如果是静态的.就会直接从内存读取后返回给用户(和其他缓冲服务器的效果一样)如果是PHP就丢给后面的fastcgi处理这样更快.至于程序同步的问题.在程序更新的时候使用svn或者rsync去同步tmpfs里面和文件服务器中的内容就可以了至于服务器重启tmpfs清空的问题只需要在服务器重启之前,需要将内存中的程序复制到本地硬盘然后启动之后,将硬盘数据再复制到tmpfs中然后启动服务即可至于服务器宕机以后无法事先保存tmpfs内容既然服务器都挂了.在它启动之后用10分钟20分钟把程序全部重新同步过来也不是什么大的开销.如果是多节点的负载均衡或者HA,那就更没必要担心tmpfs内容丢失的问题.至于上传文件如果你都用这么样的架构来加速了.你的图片还会直接上传到web服务器么?肯定是直接传到图片服务器了.转载地址:http://vpwvf.baihongyu.com/