在网站管理维护的过程中,肯定要有网站日志,一般nginx只能生成网站日志,却不支持日志分割,而网站日志文件只会越来越大,会影响到网站响应速度,这时我们只有想办法把nginx日志分割掉,避免网站响应速度变慢。
演示系统:centos系统
适用范围:linux,unix系统可参考,其实步骤都一样
第1步:首先需要知道nginx配置的网站日志文件存放地址。
电脑技术网注:可找到nginx网站配置中的地址,一般是access_log /mnt/log/www.pc515.com.log; 这样。
第2步:使用相应的linux连接软件,成功登录到系统。
第3步:登录完后,就直接在当前目录或是自己所需要的目录执行“vi nginx_log.sh”。
代码如下
- #!/bin/bash
- log_files_path="/mnt/log/"
- log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
- log_files_name=(pc515.com www.pc515.com)
- nginx_sbin="/mnt/nginx/nginx"
- save_days=30
- mkdir -p $log_files_dir
- log_files_num=${#log_files_name[@]}
- for((i=0;i<$log_files_num;i++));do
- mv ${log_files_path}${log_files_name[i]}.log ${log_files_dir}/${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d").log
- done
- $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日志切割文件的角本及代码就完成了。
- #!/bin/bash
- log_files_path="/mnt/log/" #这个是存放网站日志的目录,也就是本文第一步时所说明的网站日志目录。
- log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m") #这个是把切割后的日志放到以年,月,日文件夹的形式放
- log_files_name=(pc515.com www.pc515.com) #/mnt/log目录下有两个日志文件,分别为pc515.com.log和www.pc515.com.log日志文件
- nginx_sbin="/mnt/nginx/nginx" #这个是nginx启动程序的文件。
- save_days=30
- mkdir -p $log_files_dir #按设置的年月日创建文件。
- log_files_num=${#log_files_name[@]}
- for((i=0;i<$log_files_num;i++));do #下面就是循环的把日志文件移动到相应的目录 中。
- mv ${log_files_path}${log_files_name[i]}.log ${log_files_dir}/${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d").log
- done
- $nginx_sbin -s reload #最后重启nginx服务。