前端打包gzip + nginx开启静态gzip

前端打包gzip + nginx开启静态gzip,第1张

服务端动态gzip是常见的方案,即服务端判断浏览器>两种前端架构:
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、“最后”一次重启,测试、搞定!望采纳,谢谢。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10751318.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存