来讲讲:nginx会见日记并删除指定天数前的日记纪录设置办法
虽然Linux桌面应用发展很快,但是命令在Linux中依然有很强的生命力。Linux是一个命令行组成的操作系统,精髓在命令行。申明:
操纵体系:CentOS
站点1:bbs.jb51.net
站点2:sns.jb51.net
Nginx安装路径:/usr/local/nginx
Nginx设置文件路径:/usr/local/nginx/conf/nginx.conf
站点1设置文件路径:/usr/local/nginx/conf/vhost/bbs.jb51.net.conf
站点2设置文件路径:/usr/local/nginx/conf/vhost/sns.jb51.net.conf
目标:
1、对站点1和站点2的nginx会见日记按天保留,日记路径为:
站点1:/usr/local/nginx/logs/nginx_logs/bbs_logs
站点2:/usr/local/nginx/logs/nginx_logs/sns_logs
2、只保存30天之内的日记纪录
详细操纵:
1、创立日记寄存路径
.代码以下:
mkdir-p/usr/local/nginx/logs/nginx_logs/bbs_logs
mkdir-p/usr/local/nginx/logs/nginx_logs/sns_logs
2、设置Nginx日记纪录格局
编纂vi/usr/local/nginx/conf/nginx.conf
.代码以下:
log_formatmain$remote_addr-$remote_user[$time_local]"$request"
$status$body_bytes_sent"$http_referer"
"$http_user_agent""$http_x_forwarded_for";
作废日记纪录格局后面的正文,在最初增加一行,以下所示:
.代码以下:
log_formatmain$remote_addr-$remote_user[$time_local]"$request"
$status$body_bytes_sent"$http_referer"
"$http_user_agent""$http_x_forwarded_for"
$http_host$upstream_status$upstream_addr$request_time$upstream_response_time;#新增加的一行
:wq!#保留加入
3、设置假造主机设置文件
编纂vi/usr/local/nginx/conf/vhost/bbs.jb51.net.conf#,在bbs.jb51.net;这一行上面增加
.代码以下:
access_loglogs/bbs_access.logmain;#注重这里的main要和上一步中的main分歧
:wq!#保留加入
编纂vi/usr/local/nginx/conf/vhost/sns.jb51.net.conf,在sns.jb51.net;这一行上面增加
.代码以下:
access_loglogs/sns_access.logmain;#注重这里的main要和上一步中的main分歧
.代码以下:
:wq!#保留加入
servicenginxreload#从头加载nginx设置文件
4、创立Nginx日记切割剧本
编纂vi/home/crontab/cut_nginx_log.sh
.代码以下:
#!/bin/sh
logs_path="/usr/local/nginx/logs/"
DAYS=30
mv${logs_path}bbs_access.log${logs_path}nginx_logs/bbs_logs/bbs_access_$(date-d"yesterday"+"%Y%m%d").log
mv${logs_path}sns_access.log${logs_path}nginx_logs/sns_logs/sns_access_$(date-d"yesterday"+"%Y%m%d").log
kill-USR1`cat/usr/local/nginx/logs/nginx.pid`
find${logs_path}nginx_logs/bbs_logs/-name"bbs_access_*"-typef-mtime+$DAYS-execrm{};
find${logs_path}nginx_logs/sns_logs/-name"sns_access_*"-typef-mtime+$DAYS-execrm{};
.代码以下:
:wq!#保留加入
chmod+x/home/crontab/cut_nginx_log.sh#增加剧本实行权限
5、增加义务企图,修正/etc/crontab
vi/etc/crontab在最初一行增加
.代码以下:
00***root/home/crontab/cut_nginx_log.sh#暗示天天清晨实行
:wq!#保留加入
6、从头启动crond使设置失效
.代码以下:
/etc/rc.d/init.d/crondrestart#yuminstall-yvixie-cron安装企图义务,某些体系上大概没有预装
chkconfigcrondon#设为开机启动
servicecrondstart#启动
天天会在/usr/local/nginx/logs/nginx_logs/bbs_logs和/usr/local/nginx/logs/nginx_logs/sns_logs
目次下天生相似bbs_access_20140126.log和bbs_access_20140126.log的日记文件
而且只保存比来30天的日记纪录
至此,Linux下准时切割Nginx会见日记并删除指定天数前的日记纪录完成。
备注:假如剧本在实行过程当中呈现上面毛病
.代码以下:
nginx:open()"/usr/local/nginx/logs/nginx.pid"failed
办理举措:
.代码以下:
/usr/local/nginx/sbin/nginx-c/usr/local/nginx/conf/nginx.conf
#利用nginx-c的参数指定nginx.conf文件的地位
扩大浏览:Nginx会见日记参数申明
.代码以下:
192.168.21.1--"GET/2.phpHTTP/1.1"200133"-""Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/33.0.1707.0Safari/537.36""-"192.168.21.128200127.0.0.1:90000.1190.119
$remote_addr:客户端地点192.168.21.1
$remote_user:客户端用户-
$time_local:工夫和时区27/Jan/2014:11:28:53+0800
$request:哀求的URL路径和HTTP协定GET/2.phpHTTP/1.1
$status:HTTP形态200
$body_bytes_sent:发送给客户端页面巨细133
$http_referer:页面跳转来历-
$http_user_agent:用户会见终端Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/33.0.1707.0Safari/537.36
$http_x_forwarded_for:HTTP代办署理中,哀求端实在IP-
$http_host:用户在扫瞄器中输出的URL(IP或着域名)地点192.168.21.128
$upstream_status:upstream形态200
$upstream_addr:后端upstream地点及端口127.0.0.1:9000
$request_time:页面会见总工夫0.119
$upstream_response_time:页面会见中upstream呼应工夫0.119
Linux的常用命令find,察看man文档,初学者一定会觉得太复杂而不原意用,但是你一旦学会就爱不释手。 让我树立了很大的信心学好这门课程,也学到了不少专业知识和技能。? 工具书对于学习者而言是相当重要的。一本错误观念的工具书却会让新手整个误入歧途。目前国内关于Linux的书籍有很多不过精品的不多。 如果你想深入学习Linux,看不懂因为文档实在是太难了。写的最好的、最全面的文档都是英语写的,最先发布的技术信息也都是用英语写的。 对我们学习操作系统有很大的帮助,加深我们对OS的理解。? 主流Linux发行版都自带非常详细的文档(包括手册页和FAQ),从系统安装到系统安全,针对不同层次的人的详尽文档,仔细阅读文档后40%问题都可在此解决。 一定要学好命令,shell是命令语言,命令解释程序及程序设计语言的统称,shell也负责用户和操作系统之间的沟通。 即便是非英语国家的人发布技术文档,Linux也都首先翻译成英语在国际学术杂志和网络上发表。 其实老师让写心得我也没怎么找资料应付,自己想到什么就写些什么,所以不免有些凌乱;很少提到编程,因为那些在实验报告里已经说了,这里再写就多余了。
页:
[1]