仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 543|回复: 8
打印 上一主题 下一主题

[其他Linux] 来讲讲:nginx会见日记并删除指定天数前的日记纪录设置办法

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 17:02:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
虽然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:[error]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--[27/Jan/2014:11:28:53+0800]"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文档,初学者一定会觉得太复杂而不原意用,但是你一旦学会就爱不释手。
柔情似水 该用户已被删除
沙发
发表于 2015-1-18 17:23:16 | 只看该作者
让我树立了很大的信心学好这门课程,也学到了不少专业知识和技能。?
小女巫 该用户已被删除
板凳
发表于 2015-1-27 07:22:15 | 只看该作者
工具书对于学习者而言是相当重要的。一本错误观念的工具书却会让新手整个误入歧途。目前国内关于Linux的书籍有很多不过精品的不多。
冷月葬花魂 该用户已被删除
地板
发表于 2015-2-5 05:43:48 | 只看该作者
如果你想深入学习Linux,看不懂因为文档实在是太难了。写的最好的、最全面的文档都是英语写的,最先发布的技术信息也都是用英语写的。
飘灵儿 该用户已被删除
5#
发表于 2015-2-11 07:13:47 | 只看该作者
对我们学习操作系统有很大的帮助,加深我们对OS的理解。?
深爱那片海 该用户已被删除
6#
发表于 2015-3-1 23:57:22 | 只看该作者
主流Linux发行版都自带非常详细的文档(包括手册页和FAQ),从系统安装到系统安全,针对不同层次的人的详尽文档,仔细阅读文档后40%问题都可在此解决。
愤怒的大鸟 该用户已被删除
7#
发表于 2015-3-11 01:27:05 | 只看该作者
一定要学好命令,shell是命令语言,命令解释程序及程序设计语言的统称,shell也负责用户和操作系统之间的沟通。
谁可相欹 该用户已被删除
8#
发表于 2015-3-17 18:10:50 | 只看该作者
即便是非英语国家的人发布技术文档,Linux也都首先翻译成英语在国际学术杂志和网络上发表。
再现理想 该用户已被删除
9#
发表于 2015-3-24 20:24:53 | 只看该作者
其实老师让写心得我也没怎么找资料应付,自己想到什么就写些什么,所以不免有些凌乱;很少提到编程,因为那些在实验报告里已经说了,这里再写就多余了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-1 15:18

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表