? ?
电脑维修网
当前位置:电脑维修网 >操作系统 > 服务器设置 >nginx多站点日志分割配置方法

nginx多站点日志分割配置方法

2013-10-06 22:18 | 作者:服务器设置 | 来源:电脑维修技术网 | 参与评论 | 点击:1650次

文章简介

相信不少网友都是在linux系统中跑nginx这个web服务器,它不象是apache或是iis,nginx的高性能的HTTP及反向代理服务器,向绝多数网站站长均选择了它,但是nginx有一个小小的缺点就是生成的网站日志文件无法象iis或是apache这些服务器一样自动分割,不过我们可以通过在linux系统中做一些简单的设置即可解决这个小缺点。

也许不少网友都先百度或谷歌搜索到不少类似的教程了,如果你已经熟悉linux或是已经非常熟练的配置这些了,就一笑而过吧。

本文主要是针对那些对linux系统不是很熟悉,或是菜鸟级别的新手站长们,本文就一步一步的说下如何在centos系统中进行nginx多站点日志分割配置的方法,只要按本文教程来,作者保存可用,如有不懂可直接留言。原文网址http://www.wikiblast.net/6/1/26142.html

适用范围及演示工具

适用范围:linux系统 

演示系统:centos系统

演示版本:nginx1.0

nginx多站点日志分割配置方法

第1步:首先得在nginx中设置开启日志。

找到nginx自己网站的配置文件,检查access_log 后面是否为on,如为on,改为自己的log日志文件路径,如:access_log /usr/local/nginx/logs/www.wikiblast.net.log;
电脑维修技术网注:这样就是把www.wikiblast.net的日志文件存到了/usr/local/nginx/logs/目录下,文件名为www.wikiblast.net.log。

第2步:在本地电脑中新建个记事板,并向记事板里复制以下代码,并另存为“nginx_log.sh”文件。

  1. #!/bin/bash 
  2.  
  3. #指定nginx网站日志目录路径 
  4. log_files_path="/usr/local/nginx/logs/" 
  5. log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m") 
  6. #指定网站日志文件名,多个网站日志用空格隔开,本文作者设置的全名是www.wikiblast.net,而这里就要写www.wikiblast.net,.log扩展名不要写进来了。 
  7. log_files_name=(www.wikiblast.net) 
  8. #指定nginx目录 
  9. nginx_sbin="/usr/local/nginx/sbin/nginx" 
  10. #设置日志保存时间 
  11. save_days=30 
  12.  
  13. mkdir -p $log_files_dir 
  14.  
  15. log_files_num=${#log_files_name[@]} 
  16.  
  17. for((i=0;i<$log_files_num;i++));do 
  18. mv ${log_files_path}${log_files_name[i]}.log ${log_files_dir}/${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d").log 
  19. done 
  20.  
  21. #删除旧日志find$log_files_path -mtime +$save_days -exec rm -rf {} \; 
  22.  
  23. $nginx_sbin -s reload 
电脑维修技术网注:本文作者这里有写好的,大家可直接下载,稍微再改一下路径什么的,都改成自己的即可。
ps:sh就centos可运行的东东,个人认为相当于windows的.bat批处理。

第3步:使用xftp4工具登录到centos系统,登录成功后,把第2步写好的nginx_log.sh文件上传到centos中/root目录下。

电脑维修技术网注:上传后的完整路径就是/root/nginx_log.sh,需要说明的是这个完整路径第4步及每天定时启动时都会用到。

第4步:使用xshell4软件成功登录到centos系统,执行“/root/nginx_log.sh”。
电脑维修技术网注:如果什么都没提示,大家可到自己的nginx日志文件夹中查看一下,就会发现一个以当前年份起名的文件夹,打开后就会发现一个当前月份的文件夹,再打开后就会发现一个名字为www.wikiblast.net_20130827.log类似这样的文件名,剩下的步骤就是定时每天一个时间就自动执行一次这个角本。

第5步:在centos终端执行“crontab -e”命令。

第6步:在打开的窗口中按“I”键(进入到编辑模式),换一行输入“0 0 * * * /root/nginx_log.sh”代码,并按“ESC”键(退出编辑模式),输入“:wq”并确定(保存并退出)。

电脑维修技术网注:这个相当于Windows系统的计划任务功能,本文这里的0 0 * * * /root/nginx_log.sh意思就是0时0分时就执行/root/nginx_log.sh这个角本。
ps:如我们需要在每天早晨7时58分执行这个角本的话,需要“58 7 * * * /root/nginx_log.sh”这个写,前面是分,后面是时。 

nginx多站点日志分割角本下载

百度网盘下载地址

下载失效时,大家可在评论时说下,到时会在评论中补发新的地址。

转载时请注明:转载自《电脑维修技术网》原文地址:http://www.wikiblast.net/6/1/26142.html
凡文章内未标注来源均为原创文章!恭候您的意见
------分隔线----------------------------
?
最新评论
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
友情连接版权声明广告合作联系我们意见投诉网站地图百度地图谷歌地图
敬告:本站所有信息都为网友发布,及网络收集而来,我们只对信息的合法性进行审核 请朋友们自行鉴别真实性。
老北京赛车-老北京赛车官网