网站性能提升

简介: 【7月更文挑战第31天】

使用gzip 压缩提升网站性能
一、介绍
网站开发到一定程度,可能css文件或js文件会越来越大,因为有可能加载了很多的插件。这个时候如果能把这些文件压缩一下就好了。

nginx就支持这种功能,它可以把静态文件压缩好之后再传给浏览器。浏览器也要支持这种功能,只要浏览器的请求头带上Accept-Encoding: gzip就可以了。假如有一个文件叫application.css,那nginx就会使用gzip模块把这个文件压缩,然后传给浏览器,浏览器再解压缩成原来的css文件,就能读取了。

所有的这一切都需要nginx已经有编译过ngx_http_gzip_module这个模块。这个模块能对需要的静态文件压缩大小,比如图片,css,javascript,html等。压缩是需要消耗CPU,但能提高传缩的速度,因为传缩量少了许多,从而节省带宽。

二、 使用
使用之前先来查看一下是否编译了ngx_http_gzip_module这个模块。

sudo nginx -V
1
如果输出--with-ngx_http_gzip_module,说明已经编译了。

三、配置nginx的gzip
http {
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
server {
location ~ ^/assets/ {
gzip_static on;
expires max;
add_header Cache-Control public;
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
上面最重要的是http中gzip on;还有gzip_types这两行,是一定要写的。其他的gzip_vary等都是一些配置,可以不写。

然后在需要压缩的静态资源那里加上下面三行。

gzip_static on;
expires max;
add_header Cache-Control public;
1
2
3
改了配置用sudo nginx -s reload重新加载生效。

四、测试
1、测试可以使用浏览器,比如chrome,只要用开发者的network功能查看两次资源的大小就好了。

2、或者使用curl工具也可以。

~/codes/rails365 (master) $ curl -I -H "Accept-Encoding: gzip" http://www.rails365.net/assets/application-7166fb1597da14300423c6a60c281a45f24573b249eafe0fd84b5c261db1d3a5.js
HTTP/1.1 200 OK
Server: nginx/1.8.0
Date: Tue, 20 Oct 2015 10:44:52 GMT
Content-Type: application/x-javascript
Last-Modified: Tue, 20 Oct 2015 09:36:44 GMT
Connection: keep-alive
Vary: Accept-Encoding
ETag: W/"56260b2c-22b41"
Expires: Thu, 31 Dec 2037 23:55:55 GMT
Cache-Control: max-age=315360000
Cache-Control: public
Content-Encoding: gzip
1
2
3
4
5
6
7
8
9
10
11
12
13
只要返回Content-Encoding: gzip说明成功的。

相关文章
|
9月前
|
机器学习/深度学习 人工智能 测试技术
NeurIPS 2025|让AI读懂第一视角的“内心独白”!浙大等联合突破性实现自我中心视频推理
浙大等提出EgoThinker,首创支持第一视角视频推理的AI模型。构建500万问答对数据集EgoRe-5M,结合思维链与手物交互标注,通过两阶段训练提升时空定位与长时序因果推理能力,在多项基准超越现有模型,推动可穿戴助手与具身智能发展。
320 3
NeurIPS 2025|让AI读懂第一视角的“内心独白”!浙大等联合突破性实现自我中心视频推理
|
7月前
|
人工智能 搜索推荐 API
智能体来了:从0-1开启你的AI分身时代
内容摘要:AI智能体(Agent)正从概念走向大规模应用,宣告了个体效率飞跃的“AI分身时代”至。本文深度拆解智能体底层逻辑,手把手教你如何利用Coze、Dify等平台构建具备感知、规划与执行能力的AI分身,助你实现从基础自动化到全时生产力的转型。
1278 3
|
7月前
|
存储 缓存 数据处理
2核8G云服务器怎么样?2026年阿里云 2核8G云服务器价格解析与性能测评
在云服务器选型中,2 核 8G 配置是入门到进阶的过渡热门款,凭借 1:4 的 CPU 与内存黄金配比,既能满足个人开发者的项目测试需求,也能支撑中小企业轻量业务运行。无论是搭建个人博客、小型企业官网,还是部署轻量 APP 后端、运行基础数据库,它都能提供均衡算力与内存支撑,避免 “算力过剩浪费” 或 “内存不足卡顿”。下面从价格、配置、性能三方面详细解析,帮你判断是否适配自身需求。
|
存储 安全 Java
synchronized 锁升级
JDK 6 引入的 synchronized 锁升级机制,通过偏向锁、轻量级锁和重量级锁的动态切换,优化了多线程同步性能。该机制根据竞争情况逐步升级锁状态,减少线程阻塞和系统调用开销,从而提升并发效率。
563 0
|
8月前
|
人工智能 自然语言处理 安全
中小微企业 AI 客服系统建设费用:高性价比选择指南
瓴羊Quick Service是阿里云旗下智能客服产品,专为中小微企业设计,支持全渠道接入、7×24小时AI应答,准确率达93%,年费仅1万元起,助力企业低成本实现高效服务升级。
|
9月前
|
监控 物联网 5G
工厂车辆定位技术从原理到应用全解析
工厂车辆定位技术融合卫星、5G、UWB等多元方案,实现室内外高精度定位,赋能物流调度、安全监控与停车场管理,提升运营效率与安全性,助力工厂智能化升级。
工厂车辆定位技术从原理到应用全解析
|
人工智能 自然语言处理 Java
对话即服务:Spring Boot整合MCP让你的CRUD系统秒变AI助手
本文介绍了如何通过Model Context Protocol (MCP) 协议将传统Spring Boot服务改造为支持AI交互的智能系统。MCP作为“万能适配器”,让AI以统一方式与多种服务和数据源交互,降低开发复杂度。文章以图书管理服务为例,详细说明了引入依赖、配置MCP服务器、改造服务方法(注解方式或函数Bean方式)及接口测试的全流程。最终实现用户通过自然语言查询数据库的功能,展示了MCP在简化AI集成、提升系统易用性方面的价值。未来,“对话即服务”有望成为主流开发范式。
10287 7
|
12月前
|
安全 KVM 虚拟化
Cisco Identity Services Engine (ISE) 3.4 - 基于身份的网络访问控制和策略实施系统
Cisco Identity Services Engine (ISE) 3.4 - 基于身份的网络访问控制和策略实施系统
650 2
Cisco Identity Services Engine (ISE) 3.4 - 基于身份的网络访问控制和策略实施系统
|
机器学习/深度学习 人工智能 自然语言处理