对车速递网站进行优化,提升访问速度。
1、nginx和Apache开启Gzip压缩
nginx:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 vim /usr/local/nginx/conf/nginx.conf 2 3 gzip on;#开启Gzip 4 gzip_min_length 1k;#不压缩临界值,大于1K的才压缩,一般不用改 5 gzip_buffers 4 16k;#buffer,就是,嗯,算了不解释了,不用改 6 #gzip_http_version 1.0;#用了反向代理的话,末端通信是HTTP/1.0,有需求的应该也不用看我这科普文了;有这句的话注释了就行了,默认是HTTP/1.1 7 gzip_comp_level 2;#压缩级别,1-10,数字越大压缩的越好,时间也越长,看心情随便改吧 8 gzip_types text/plain application/x-javascript text/css application/xml #进行压缩的文件类型,缺啥补啥就行了,JavaScript有两种写法,最好都写上吧,总有人抱怨js文件没有压缩,其实多写一种格式就行了text/javascript application/x-httpd-php image/jpeg image/gif image/png; #跟Squid等缓存服务有关,on的话会在Header里增加"Vary: Accept-Encoding", 9 gzip_vary off;#我不需要这玩意,自己对照情况看着办吧 10 gzip_disable "MSIE [1-6]\.";#IE6对Gzip不怎么友好,不给它Gzip了 11 12 :wq保存退出,重新加载Nginx 13 /usr/local/nginx/sbin/nginx -s reload
Apache:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 1、修改Apache的http.conf文件,去除mod_deflate.so前面的注释 2 LoadModule deflate_module modules/mod_deflate.so 3 4 2、在根目录中新建.htaccess文件,定制压缩规则 5 #GZIP压缩模块配置 6 <ifmodule mod_deflate.c> 7 #启用对特定MIME类型内容的压缩 8 SetOutputFilter DEFLATE 9 SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png|exe|t?gz|zip|bz2|sit|rar|pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary #设置不对压缩的文件 10 AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-httpd-php application/x-javascript #设置对压缩的文件 11 </ifmodule> 12 13 3、对指定的文件配置缓存的生存时间,去除mod_headers.so模块前面的注释 14 LoadModule headers_module modules/mod_headers.so 15 16 4、在根目录中新建.htaccess文件,定制压缩规则 17 #文件缓存时间配置 18 <FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css)$"> 19 Header set Cache-Control "max-age=2592000" 20 </FilesMatch>
2、轮播等图片使用小于50KB(手机站)
3、将样式放在头部
4、将脚本放在底部
5、使用ajax缓存
使用异步ajax请求数据,少使用后台请求直接渲染页面或者form表单提交数据。
①后台请求完了才渲染,渲染前一直出于等于状态。
②当提交表单时就向Web服务器发送一个请求。服务器接收并处理传来的表单,然后送回一个新的网页,但这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML码往往是相同的。而ajax服务器和浏览器之间交换的数据大量减少(大约只有原来的5%)[来源请求],服务器回应更快了,并且处理工作可以在客户端执行,减少服务器压力。
③尽量使用GET请求,GET的请求,是可以(而且默认)在客户端进行缓存的,除非指定了不同的地址,否则同一个地址的AJAX请求,不会重复在服务器执行,而是返回304。
6、压缩js和css
这个是在线压缩:http://tool.oschina.net/jscompress?type=3
7、精简html、js和css
删除无用代码及空格,减少文件大小。
8、避免重定向
9、减少http请求
比如使用CSS Sprites、图片地图
10、使用外部JavaScript和CSS
内联脚本或者样式可以减少HTTP请求,但是外部引入文件可以缓存起来。
11、使用Google的pagespeed
PageSpeed Insights 先分析网页的内容,然后提供关于如何提升网页加载速度的建议。