优化1:设置浏览器缓存。
浏览器在浏览服务器内容的时候,服务器可以指定被浏览的内容是否进行缓存,还可以指定缓存的时间
修改配置文件:vin /usr/local/nginx/conf/nginx.conf
配置文件中的location相当于if判断,因此最好使用location指定需要缓存的内容
location ~* \.(png | jpg | gif) { #~表示正则,*表示忽略大小写。这里表示缓存png,jpg,gif
expires 3d; #指定缓存的时间为3天
}
优化2:日志切割。
当日志过于大的时候无法调入内存打开,因此需要对日志进行切割。
实质上就是将原有的日志文件备份,然后产生一个新的日志文件。
在/usr/local/nginx/logs下有三个文件:
access.log:成功访问的日志。
error.log:不成功访问的日志。
nginx.pid:nginx服务启动时产生的pid(进程号)。
mv /usr/local/nginx/logs/access.log ./access_bak.log #备份原有日志文件
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid) #给nginx这个进程发送USR1的信号,让这个进程重新生成日志文件
这里需要说明:
kill -信号 pid #kill的实质是给某一个进程发送信号。
kill -l #查看可以发送的信号
kill -9 pid 相当于 kill -kill pid
kill -USR1 pid 相当于 kill -10 pid
编写脚本实现自动切割日志:
vim /usr/local/nginx/logs/logbak.sh #自定义sh脚本文件
#!/bin/bash
data=$(date+%Y%m%d) #获取当前时间
logpath=/usr/local/nginx/logs #日志所在目录
mv $logpath/access.log $logpath/access-$date.log #备份日志
mv $logpath/error.log $logpath/error-$date.log #备份日志
kill -USR1 $(cat $$logpath/nginx.pid) #让niginx服务重新产生日志文件
制定周期计划任务:
crontab -e
分钟 小时 日期 月份 星期 执行的任务
例如:59 23 * * 5 /usr/local/nginx/logs/logbak.sh #周五23:59执行logbak.sh这个脚本
优化3:对页面进行压缩。
对内面的内容进行压缩,可以为客户机节省流量,同时也可以提高访问速度。
所有的浏览器都支持gzip,因此需要对内容进行gzip压缩。
修改配置文件:
http {
... #省略的内容
gzip on; #打开gzip压缩功能
gzip_min_length 1000; #小于1000字节的文件不进行压缩,(太小的文件压缩后可能会变大)
gzip_comp_level 4; #压缩比率,1~9,数字越大压缩效果越好,但是时间越长
gzip_types xxxxxxxx; #压缩的类型,参考/usr/local/nginx/conf/mime.types,左侧一列。
... #省略的内容
}
优化4:服务器内存缓存。
如果需要处理大量静态文件,可以把这些静态文件放入内存从而提高访问速度。
修改配置文件:
http {
open_file_cache max=2000 inactive=20S; #打开内存缓存,最多可以缓存2000个文件,如果这个文件在20S内不被访问则从内存(缓存)中删除。
open_file_cache_valid 60S; #缓存的最大有效期为60S,超过60秒就从内存(缓存)中删除。
open_file_cache_min_uses 5; #文件被访问超过5次才被放入缓存
open_file_cache_errors off; #关闭缓存日志
}
写总结的第十八天!!!

被折叠的 条评论
为什么被折叠?



