针对Apache服务的优化与配置(一)——日志文件优化
- 日志分割
- 日志文件分析
- Apache压缩
- 设置Apache缓存
一、日志分割
Apache日志文件默认存放位置:
/var/log/httpd/
默认分为access log和error log
实施日志分割的目的:
随着网站的访问量增加,默认情况下Apache的单个日志文件也会越来越大。
日志文件占用磁盘空间很大
查看相关信息不方便
进行日志分割的方式:
使用自带的rotatelogs分割工具实现(循环读取日志文件)
第三方工具cronolog分割
1-1 rotatelogs分割工具
工具存放位置:
? /usr/sbin/
目录下,安装http服务后包含其中。
配置格式:
ErrorLog "| rotatelogs命令的绝对路径 -l 日志文件路径/网站名-error_%Y%m%d.log 86400" CustomLog "| rotatelogs命令路径 -l 日志文件路径/网站名-access_%Y%m%d.log 86400" combined
其中,
在双引号""中的内容,路径必须为绝对路径,不可更改为相对路径
84600:每次分割日志文件时间,单位为秒。(84600s=24h)
具体配置实例:
(1)安装并启动服务(此时日志文件目录中会出现access、error两个日志文件)
[ ~]# yum install httpd -y [ logs]# systemctl start httpd
(2)修改配置文件
[ ~]# cd /etc/httpd/conf [ conf]# vim httpd.conf 40、41行,开启IPV4监听,关闭IPV6监听 41 Listen 192.168.116.131:80 42 #Listen 80 95行,开启域名(万一要有解析呢) 95 ServerName www.kgc.com:80 182行,修改为 182 ErrorLog "| /usr/sbin/rotatelogs -l logs/error_%Y%m%d.log 84600" 217行,修改为 217 CustomLog "| /usr/sbin/rotatelogs -l logs/access_%Y%m%d.log 84600" combined wq保存退出
(3)重启服务,并关闭防火墙
[ conf]# systemctl stop httpd [ conf]# systemctl start httpd [ conf]# systemctl stop firewalld.service [ conf]# setenforce 0
(4)使用客户机进行访问,验证是否进行日志分割
[ conf]# ls /var/log/httpd/ access_20191023.log access_log error_log //实验成功!!
1-1 第三方cronolog分割工具
工具存放位置:
? /usr/sbin/
目录下,需手动进行安装。
配置格式:
ErrorLog "| cronolog命令的绝对路径 -l 日志文件路径/网站名-error_%Y%m%d.log" CustomLog "| cronolog命令路径 -l 日志文件路径/网站名-access_%Y%m%d.log" combined
具体配置实例:
(1)安装http服务以及第三方日志分割工具
[ ~]# yum install httpd -y [ ~]# rpm -ivh cronolog-1.6.2-14.el7.x86_64.rpm 警告:cronolog-1.6.2-14.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID 352c64e5: NOKEY 准备中... ################################# [100%] 正在升级/安装... 1:cronolog-1.6.2-14.el7 ################################# [100%]
(2)修改配置文件
[ ~]# cd /etc/httpd/conf [ conf]# vim httpd.conf 40、41行,开启IPV4监听,关闭IPV6监听 41 Listen 192.168.116.131:80 42 #Listen 80 95行,开启域名(万一要有解析呢) 95 ServerName www.kgc.com:80 182行,修改为 182 ErrorLog "| /usr/sbin/cronolog -l logs/www.kgc.com.error_%Y%m%d.log" 217行,修改为 217 CustomLog "| /usr/sbin/cronolog -l logs/www.kgc.com.access_%Y%m%d.log" combined wq保存退出
(3)重启服务,并关闭防火墙
[ conf]# systemctl stop httpd [ conf]# systemctl start httpd [ conf]# systemctl stop firewalld.service [ conf]# setenforce 0
(4)使用客户机进行访问,验证是否进行日志分割
[ httpd]# ls /var/1og/httpd/ www.kgc.com.error_20191023.log www.kgc.com.error.20191024.log [ httpd]#
二、AWStats日志文件分析
是Per语言开发的一款开源日志分析系统
可用来分析Apache、Samba、 Vsftpd、 IIS等服务 器的访问日志
信息结合crond等计划任务服务,可对日志内容定期进行分析
安装DNS、http服务并建立网站
(这个不是主要的,不再过多赘述,快速带过。)
[ ~]# yum install bind httpd -y
建立的网站域名为:
? www.zhy.com
解析的对应IP地址为:
? 192.168.116.143
调整http主配置文件中的监听端口以及域名
[ ~]# cd /etc/httpd/conf [ conf]# vim httpd.conf 40、41行,开启IPV4监听,关闭IPV6监听 41 Listen 192.168.116.143:80 42 #Listen 80 95行,开启域名 95 ServerName www.zhy.com:80
下面为正式对AWStats日志文件分析系统进行安装与配置的过程。
(1)安装
[ ~]# tar xzvf awstats-7.6.tar.gz //解压AWStats软件包 awstats-7.6/ awstats-7.6/tools/ awstats-7.6/tools/awstats_buildstaticpages.pl awstats-7.6/tools/awstats_updateall.pl ......省略 [ ~]# mv awstats-7.6 /usr/local/awstats //安装在/usr/local/目录下 [ ~]# cd /usr/local/awstats/tools/ //进入软件包的工具目录中 [ tools]# ./awstats_configure.pl //执行配置工具 Enter full config file path of your Web server. Example: /etc/httpd/httpd.conf Example: /usr/local/apache2/conf/httpd.conf Example: c:\Program files\apache group\apache\conf\httpd.conf Config file path (‘none‘ to skip web server setup): > /etc/httpd/conf/httpd.conf //第一处填写http服务配置文件地址 ......省略 Do you want me to build a new AWStats config/profile file (required if first install) [y/N] ? y //第二处为是否使用新的分析系统 ......省略 Your web site, virtual server or profile name: > www.zhy.com //第三处为你配置网站的域名 ......省略 In which directory do you plan to store your config file(s) ? Default: /etc/awstats Directory path to store config file(s) (Enter for default): > //第四处为分析系统配置文件位置,使用默认即可 后面都是默认回车
最后会得到一个url地址:http://www.zhy.com/awstats/awstats.pl?config=www.zhy.com
,这个就是分析系统所在的网页,不过此时还不能使用。
(2)配置
[ tools]# cd /etc/awstats/ //分析系统配置文件位置 [ awstats]# vim awstats.www.zhy.com.conf 50行,填写日志文件地址,改为 50 LogFile="/var/log/httpd/access_log" 220行,查看 220 DirData="/var/lib/awstats" #分析系统站点,需手动创建(不建会报错) [ awstats]# mkdir /var/lib/awstats //创建站点 [ awstats]# vim /etc/httpd/conf/httpd.conf //修改http服务配置文件 按G定位末行,按照下面进行修改 <Directory "/usr/local/awstats/wwwroot"> Options None AllowOverride None # Order allow,deny //注释掉 # Allow from all //注释掉 Require all granted //手动添加,允许所有用户访问 </Directory> [ awstats]# systemctl restart httpd
此时,日志分析系统所在网页已经配置完毕,不过很遗憾此时的网页完全就是空白的,没有任何数据,所以需要我们手动对网页进行重启。
(3)刷新
[ var]# cd /usr/local/awstats/tools [ tools]# ./awstats_updateall.pl now Running ‘"/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -update -config=www.zhy.com -configdir="/etc/awstats"‘ to update config www.zhy.com .......省略
做完此步骤,系统网页就会进行数据的刷新,但每想要进行刷新就需要对awstats_updateall.pl
进行执行。因此,想要一劳永逸,定时进行刷新,就需要crontab
。
[ tools]# crontab -e 添加 */3 * * * * ./awstats_updateall.pl now #每隔3分钟,执行刷新命令 wq保存退出 [ tools]# systemctl start crond [ tools]# systemctl enable crond //启动并设置开机自启
(4)优化
目前想要进入日志分析系统中,就需要输入http://www.zhy.com/awstats/awstats.pl?config=www.zhy.com
这段超长的url,想要简化就需要在网站中新建一个专门指向的网页进行简化。
[ tools]# cd /var/www/html/ [ html]# vim houtai.html //新建网页 添加 <html> <head> <meta http-equiv=refresh content="0;url=http://www.zhy.com/awstats/awstats.pl? config=www.zhy.com"> </head> <body></body> </html> #专门指向日志分析系统所在网页 wq保存退出
(5)验证
只需要在地址栏输入www.zhy.com/houtai.html
即可进入日志文件系统中。