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之和要大一倍,但也不算高
容易遭到质疑,不易被接受。原因是本地启动前端的运行不再采用nginx。本地启动前端的运行采用SwitchHosts之后,没有nginx也能运行。SwitchHosts指的是完全独立于服务端的开发,本地不需要有服务端的环境、不需要运行服务端的代码,单纯通过发送和接受请求来完成所有的交互。1、我们再来看一下报错信息,报错信息中有一段写明“Access-Control-Allow-Origin”header的字样,我们可以由此看出会不会在服务端add header即可呢?
2、顺着这个思路,在nginx配置中加入了这样一句: add_header 'Access-Control-Allow-Origin' '';
3、重启之后,其他内容好了(例如,css文件等)发现字体(font)文件还是有问题的:这是为什么……!字体文件的Context-Type却是”text/html"!!!而且还没有像别的东东那样的 Access-Control-Allow-Origin:
4、于是乎,继续增加了这样一句,指定eot、ttf、woff字体文件 强制加入header信息
5、突然发现是因为没加mimetypes(这个必须要加的,因为它决定文件的Content-Type)这个应该早点想起来的……blablabla…… 赶紧加上 回来再看……
application/x-font-woff woff woff2;font/ttf ttf; font/opentype otf;
要删除 application/font-woff woff; 这行删掉(mimetypes ) 否则会报duplicate的warning
7、再次重启,再看
8、拿出杀手锏,查询log吧。
9、于是乎,我在“location ~"也加一个root好了:)
10、“最后”一次重启,测试、搞定!望采纳,谢谢。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)