主页 > 操作系统 > UNIX/LINUX > nginx配置日志分割

nginx配置日志分割

更新时间:2016-06-13 20:16  来源:未知  作者:admin  查看评论
文章目录索引
文章简介
演示系统及适用范围
配置nginx日志分割
nginx日志分割文件说明

文章简介

在网站管理维护的过程中,肯定要有网站日志,一般nginx只能生成网站日志,却不支持日志分割,而网站日志文件只会越来越大,会影响到网站响应速度,这时我们只有想办法把nginx日志分割掉,避免网站响应速度变慢。

演示系统及适用范围

演示系统:centos系统

适用范围:linux,unix系统可参考,其实步骤都一样

配置nginx日志分割

第1步:首先需要知道nginx配置的网站日志文件存放地址。

电脑技术网注:可找到nginx网站配置中的地址,一般是access_log /mnt/log/www.pc515.com.log; 这样。

第2步:使用相应的linux连接软件,成功登录到系统。

第3步:登录完后,就直接在当前目录或是自己所需要的目录执行“vi nginx_log.sh”。

代码如下

  1. #!/bin/bash 
  2.  
  3. log_files_path="/mnt/log/" 
  4. log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m") 
  5. log_files_name=(pc515.com www.pc515.com) 
  6. nginx_sbin="/mnt/nginx/nginx" 
  7. save_days=30 
  8.  
  9. mkdir -p $log_files_dir 
  10.  
  11. log_files_num=${#log_files_name[@]} 
  12.  
  13. for((i=0;i<$log_files_num;i++));do 
  14. mv ${log_files_path}${log_files_name[i]}.log ${log_files_dir}/${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d").log 
  15. done 
  16. $nginx_sbin -s reload 

第4步:给刚刚添加的nginx日志切割文件执行权限,命令“chmod +x nginx_log.sh”。

电脑技术网注:必须要给执行权限,否则有可能会出现执行不了的情况哦,一般到了这步,大家可直接执行一下这个角本,看看能不能正常运行,执行方法是“/root/mginx_log.sh”并确定即可,必须要带完整的路径。

第5步:设置每天点时执行一次nginx日志切割角本,命令“crontab -e”。

第6步:按一下“I”键(i键),进入到插入模式。将“0 0 * * * /root/nginx_log.sh”输入到里面,并按“ESC”键,输入“:wq!”并确定保存退出。

电脑技术网注:至此为止,有关在centos系统上怎么配置nginx日志切割文件的角本及代码就完成了。

nginx日志分割文件说明

  1. #!/bin/bash  
  2.   
  3. log_files_path="/mnt/log/"  #这个是存放网站日志的目录,也就是本文第一步时所说明的网站日志目录。
  4. log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m") #这个是把切割后的日志放到以年,月,日文件夹的形式放
  5. log_files_name=(pc515.com www.pc515.com) #/mnt/log目录下有两个日志文件,分别为pc515.com.log和www.pc515.com.log日志文件
  6. nginx_sbin="/mnt/nginx/nginx" #这个是nginx启动程序的文件。
  7. save_days=30  
  8.   
  9. mkdir -p $log_files_dir #按设置的年月日创建文件。
  10.   
  11. log_files_num=${#log_files_name[@]}
  12.   
  13. for((i=0;i<$log_files_num;i++));do #下面就是循环的把日志文件移动到相应的目录 中。 
  14. mv ${log_files_path}${log_files_name[i]}.log ${log_files_dir}/${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d").log  
  15. done  
  16. $nginx_sbin -s reload  #最后重启nginx服务。

有关nginx | nginx配置 | centos | linux | 的文章推荐