访问日志模块
语法:
关于出现的$变量是内嵌变量 在上一篇有讲
log_format 日志模式
上下文http,故写在http指令块中。
access_log
上下文可以在http里,也可以在特定域名server,或者在location等
为了测试,新建个站点
注意访问日志的写入权限
查看文件
定时日志备份
定时执行sh脚本,将日志文件备份至其他目录。
需要注意的是,正在写入日志的时候移动带来的冲突,这时候需要向nginx发送信号打开一个新的日志文件,关闭旧的日志文件。
关于信号在nginx-6 信号处理 已介绍
sh脚本
#!/bin/bash
LOGPATH=/www/server/nginx/logs/testaccess.log
BACKPATH=/usr/logs
mv $LOGPATH $BACKPATH/$(date +%Y%m%d_%H%M).testaccess.log
kill -USR1 `cat /www/server/nginx/logs/nginx.pid`
crontab -e
*/1 * * * * /bin/bash log.sh
常用模块
- deny allow
如只允许某些IP访问,或拒绝某些IP访问,以及对某些请求的允许和拒绝。
例:项目中禁止访问的文件和目录
location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
{
deny all;
}
- 限制请求数和连接数
防止攻击,下载带宽限制,秒杀、抢购并发限制
注意出现的计量单位在手册单独有讲。
。。。
至此nginx系列完毕,算是入门文章,面向和我一样的新手。接下来有关nginx的文章是具体的使用。有错误请谅解和提醒,建议从第一节开始学习。