nginx和squid配合搭建的web服务器前端系统

两种前端架构:

lvs -> nginx前端代理 -> squid缓存
lvs -> squid前端缓存 -> nginx中层代理

squid在前面的优点:

Squid作纯代理比较稳当 前端少一级代理,响应速度会快,出问题的可能性要小 功能有限,不会常被调整 容易为人接受,只是为了扩充功能而增加中层代理 一般的配置简便,比如增加一个二级域名,只需配置一个指向。 增加的nginx可扩展功能,增加对应用服务的负载均衡等。

squid在前面的缺点:

squid支持的负载均衡配置复杂 容灾问题 更新缓存要遍历所有机器 squid只支持单cpu,所以浪费cpu

nginx在前面的优点:

分流、负载均衡功能强大,可以细致定义 可精细定制access_log nginx的错误日志更详细 可让squid只缓存无压缩版本,由nginx压缩,这样可优化squid缓存容量 nginx可分担部分无实时性要求的缓存

nginx在前面的优点:

nginx目前还有部分bug。 功能强,所以可能经常被调整 nginx代理用的短链接方式 单机上安装nginx+squid的cpu消耗比纯squid和纯nginx之和要大一倍,但也不算高 容易遭到质疑,不易被接受。