一.常用配置详解(2)
1.Nginx的自动列目录配置
我们经常看见一些开源软件的下载页面是能够自动列目录的。
要实现这一功能,前提条件是当前目录下不存在用index指令设置的默认首页文件。如果须要在一虚拟主机的location / {......}目录控制中配置自动列目录,只需加上如下代码:
location / {
autoindex on;
}
另外,还有两项和自动列目录相关的指令,分别是:
autoindex_exact_size [ on|off ]
设定索引时文件大小的单位(B、KB、MB、GB)
autoindex_localtime [ on|off ]
开启以本地时间来显示文件时间的功能。默认关闭(GMT时间)。
2.Nginx的浏览器本地缓存设置
浏览器缓存(Browser Caching)是为了加速浏览,浏览器在用户磁盘上对最近请求过的文档进行存储,当浏览者再次请求这个页面时,浏览器就可以从本地磁盘显示文档,这样就可以加速页面的阅览。缓存的方式节约了网络资源,提高了网络的效率。
浏览器缓存可以通过expires指令输出Header头来实现,expires指令的语法如下:
语法:expires [time|epochlmaxloff]
默认值:expires off
作用域:http,server,location
用途:使用本指令可以控制HTPP应答中的"Expires" 和 "Cache-Control" 的Header头信息(起到控制页面缓存的作用)。
epoch 指定"Expires"的值为1 January,1997,00:00:01 GTM.
负数:Cache-Control:no-cache.
正数或零:Cache-Control:max-age=## 是你指定的时间的秒数。
“off”表示不修改Expires和Cache-Control的值
实例:对常见格式的图片、flash文件在浏览器本地缓存30天,对js、css文件在浏览器本地缓存12个小时。
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; access_log off; } location ~ .*\.(js|css)?$ { expires 12h; access_log off; }
附:每天00:00定时切割日志文件脚本
[root@localhost logs]# vi /www/wwwlogs/cut_nginx_log.sh [root@localhost logs]# crontab /www/wwwlogs/cut_nginx_log.sh [root@localhost logs]# crontab -l #!/bin/bash # This script run at 00:00 #The Nginx logs path logs_path = "/www/wwwlogs/" 00 00 * * * mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/(date -d "yesterday" +"%m")/mv ${logs_path}access.log $(logs_path)$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/access_$(date -d "yesterday" +"%Y%m%d").log kill -USR1 `cat /www/server/nginx/logs/nginx.pid` [root@localhost logs]#