网站访问速度太慢,几种通用的解决网站太慢的方法(2)
3.解决问题
通过上面的方法得到的结论是,对于这个网站,主要要解决的问题是:
a.解析的问题
b.服务器的优化
c.网络的问题
解析问题其实很好办,国内有很多免费的DNS提供商,如果我们存在这样的问题,直接换个DNS提供商就行了。这里主要是来讲下缓存时间的设置,以NGINX服务器为例。
打开nginx的配置文件,
location / {
root /var/www;
index index.html index.htm index.php;
}
location ~* ^.+\.(jpg|jpeg|swf|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|mov) {
root /var/www;
access_log off;
expires 350d;
}
在location中,我们可以对静态文件做专门的缓存处理,添加expires项,即过期时间,在这里我设置的是350天,也就是说如果用户没有清空自己的浏览器缓存,那么在访问过一次之后,在后面的二次访问时,都会直接从浏览器缓存中拿到图片,而不再经过我的服务器,这样显然,对于图片、静态资源很多的网站,这样提高速度的效果很明显。
13 http {
14 include /etc/nginx/mime.types;
15
16 access_log /dev/null;
17
18 sendfile on;
19 tcp_nopush on;
20
21 #keepalive_timeout 0;
22 keepalive_timeout 0;
23 tcp_nodelay on;
24 client_max_body_size 160m;
25 gzip on;
26 gzip_disable "MSIE [1-6]\.(?!.*SV1)";
在http区域中,我们设置gzip为on,在后面我还做了一些正则参数,即IE1-6是不压缩的,因为IE1-6对压缩支持不是很好。
做好这二项后,然后重启下nignx服务器,就开始生效了。
当然有的同学的网站可能自己还接触不到服务器这一层,如虚拟主机用户等,在这里,我介绍大家使用加速乐(www.jiasule.com)的免费CDN服务,加入后,CDN的各节点就会将上述的问题妥善解决,包括域名解析、电信网通的互通问题等。看下效果:
最后:当然,加速并不是万能的,选择一款好的服务器是最根本的,如果上面的方法还不能解决问题,那就得考虑从硬件上提升了。