服务安装后,不会生成日志文件不会产生 服务启动后,生成日志文件 访问服务后,日志文件会生成内容
随着网站的访问量增大,默认情况下Apache的单个日志文件也会越来越大 日志文件占用磁盘空间很大 查看相关信息不方便 对日志文件进行分割 Apache自带rotatelogs分割工具实现 第三方工具cronolog分割
配置网站的日志文件转交给rotatelogs分割处理
配置格式为
ErrorLog "| rotatelogs 命令的绝对路径 -l 日志文件路径/网站名-error_%Y%m%d.log 86400" '//which rotatelogs命令查看绝对路径,%Y%m%d表示年月日,86400表示一天的秒数'
CustomLog "| rotatelogs 命令的绝对路径 -l 日志文件路径/网站名-access_%Y%m%d.log 86400" combined
[root@promote ~]# vim /etc/httpd/conf/httpd.conf
CustomLog "| /usr/sbin/rotatelogs -l logs/access_%Y%m%d.log 86400" combined
ErrorLog "| /usr/sbin/rotatelogs -l logs/error_%Y%m%d.log 86400"
Listen 192.168.110.133:80
#Listen 80
ServerName www.shang.com:80
[root@promote ~]# setenforce 0
[root@promote ~]# systemctl stop firewalld
[root@promote ~]# systemctl restart httpd
[root@promote httpd]# ls
access_log error_20200805.log error_log
cronolog作为日志过滤程序,可用来切割linux日志文件,通过对输入的日志按文件名模板和当前日期重新编排,来按格式生成所需日志。cronolog 旨在和一个Web服务器一起使用,如Apache、Nginx
第一步:rpm安装一下cronolog软件(yum也可以安装)
[root@sheng opt]# rpm -ivh cronolog-1.6.2-14.el7.x86_64.rpm
[root@sheng opt]# which cronolog
/usr/sbin/cronolog
第二步:修改httpd主配置文件,按小时分割错误日志
[root@sheng httpd]# vim /etc/httpd/conf/httpd.conf
ErrorLog "| /usr/sbin/cronolog logs/www.yjs.com.error_%Y%m%d%H.log"
第三步:重启服务,验证错误日志已产生
[root@sheng httpd]# systemctl restart httpd
[root@sheng httpd]# ls
access_log error_log www.yjs.com.error_2020080610.log
perl语言(骆驼语言)开发的一款开源日志分析系统 可用来分析Apache,Samba,vsftpd,IIS等服务器的访问日志 信息结合crond等计划任务服务,可对日志内容定期进行分析
环境部署
VMware软件
一台centos7虚拟机
一台Windows虚拟机
环境准备
WindowsDNS解析地址指向centos7
centos7安装bind和httpd
[root@promote httpd]# yum -y install bind
[root@promote httpd]# vim /etc/named.conf
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
[root@localhost ~]# vim /etc/named.rfc1912.zones
zone "shang.com" IN {
type master; file "shang.com.zone";
allow-update { none; };
};
[root@promote httpd]# cd /var/named/
[root@promote named]# ls
data named.ca named.localhost slaves
dynamic named.empty named.loopback
[root@promote named]# cp -p named.localhost shang.com.zone
[root@promote named]# vim shang.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
www IN A 192.168.110.133
~
[root@localhost named]# vim /etc/httpd/conf/httpd.conf
'//修改此两行内容'
Listen 192.168.110.132:80
#Listen 80
'//修改为指定域名'
ServerName www.shang.com:80
[root@localhost named]# systemctl stop firewalld.service
[root@localhost named]# setenforce 0
[root@localhost named]# systemctl start httpd.service
[root@promote ~]# cd /usr/local/
[root@promote local]# ls
bin games lib libexec share
etc include lib64 sbin src
[root@localhost mnt]# cd /usr/local
[root@promote local]# mkdir awstats
[root@promote awstats]# tar zxvf awstats-7.6.tar.gz
[root@localhost mnt]# cd /usr/local/awstats
[root@localhost awstats]# cd tools/
[root@localhost tools]# ls
[root@localhost tools]# ./awstats_configure.pl
> /etc/httpd/conf/httpd.conf '//第一次交互输入此路径'
y '//第二次交互输入y'
www.shang.com '//第三次交互输入指定域名'
'//第四五六次交互直接回车'
[root@localhost tools]# cd /etc/httpd/conf
[root@localhost conf]# vim httpd.conf
'//省略内容,直接到文件末尾修改此配置'
<Directory "/usr/local/awstats/awstats-7.6/wwwroot">
Options None
AllowOverride None
# Order allow,deny
# Allow from all
Require all granted
</Directory>
[root@localhost conf]# cd /etc/awstats/
[root@localhost awstats]# ls
awstats.www.shang.com.conf
[root@localhost awstats]# vim awstats.www.shang.com.conf
...省略内容
'//将下面两行内容修改'
LogFile="/var/log/httpd/access_log"
...省略内容
DirData="/var/lib/awstats"
[root@localhost awstats]# cd /var/lib
[root@localhost lib]# ls
[root@localhost lib]# mkdir awstats
[root@localhost lib]# systemctl restart httpd.service
A SIMPLE config file has been created: yes/awstats.www.shang.com.conf
You should have a look inside to check and change manually main parameters.
You can then manually update your statistics for 'www.shang.com' with command:
> perl awstats.pl -update -config=www.shang.com
You can also read your statistics for 'www.shang.com' with URL:
> **http://localhost/awstats/awstats.pl?config=www.shang.com**
[root@localhost lib]# cd /usr/local/awstats/
[root@localhost awstats]# ls
docs README.md tools wwwroot
[root@localhost awstats]# cd tools/
[root@localhost tools]# ls
...省略内容
[root@localhost tools]# ./awstats_updateall.pl now
Jumped lines in file: 0
Parsed lines in file: 35
Found 0 dropped records,
Found 0 comments,
Found 0 blank records,
Found 0 corrupted records,
Found 0 old records,
Found 35 new qualified records.