针对Apache服务的优化与配置(一)——日志文件优化
针对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两个日志文件)
[root@localhost ~]# yum install httpd -y[root@localhost logs]# systemctl start httpd
(2)修改配置文件
[root@localhost ~]# cd /etc/httpd/conf[root@localhost conf]# vim httpd.conf 40、41行,开启IPV4监听,关闭IPV6监听 41 Listen 192.168.116.131:80 42 #Listen 8095行,开启域名(万一要有解析呢) 95 ServerName www.kgc.com:80182行,修改为 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" combinedwq保存退出
(3)重启服务,并关闭防火墙
[root@localhost conf]# systemctl stop httpd[root@localhost conf]# systemctl start httpd[root@localhost conf]# systemctl stop firewalld.service [root@localhost conf]# setenforce 0
(4)使用客户机进行访问,验证是否进行日志分割
[root@localhost 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服务以及第三方日志分割工具
[root@localhost ~]# yum install httpd -y [root@localhost ~]# 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)修改配置文件
[root@localhost ~]# cd /etc/httpd/conf[root@localhost conf]# vim httpd.conf 40、41行,开启IPV4监听,关闭IPV6监听 41 Listen 192.168.116.131:80 42 #Listen 8095行,开启域名(万一要有解析呢) 95 ServerName www.kgc.com:80182行,修改为 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" combinedwq保存退出
(3)重启服务,并关闭防火墙
[root@localhost conf]# systemctl stop httpd[root@localhost conf]# systemctl start httpd[root@localhost conf]# systemctl stop firewalld.service [root@localhost conf]# setenforce 0
(4)使用客户机进行访问,验证是否进行日志分割
[ root@localhost httpd]# ls /var/1og/httpd/www.kgc.com.error_20191023.log www.kgc.com.error.20191024.log[root@localhost httpd]#
二、AWStats日志文件分析
是Per语言开发的一款开源日志分析系统
可用来分析Apache、Samba、 Vsftpd、 IIS等服务 器的访问日志
信息结合crond等计划任务服务,可对日志内容定期进行分析
安装DNS、http服务并建立网站
(这个不是主要的,不再过多赘述,快速带过。)
[root@localhost ~]# yum install bind httpd -y
建立的网站域名为:
www.zhy.com
解析的对应IP地址为:
192.168.116.143
调整http主配置文件中的监听端口以及域名
[root@localhost ~]# cd /etc/httpd/conf[root@localhost conf]# vim httpd.conf 40、41行,开启IPV4监听,关闭IPV6监听 41 Listen 192.168.116.143:80 42 #Listen 8095行,开启域名 95 ServerName www.zhy.com:80
下面为正式对AWStats日志文件分析系统进行安装与配置的过程。
(1)安装
[root@localhost ~]# tar xzvf awstats-7.6.tar.gz //解压AWStats软件包awstats-7.6/awstats-7.6/tools/awstats-7.6/tools/awstats_buildstaticpages.plawstats-7.6/tools/awstats_updateall.pl......省略[root@localhost ~]# mv awstats-7.6 /usr/local/awstats //安装在/usr/local/目录下[root@localhost ~]# cd /usr/local/awstats/tools/ //进入软件包的工具目录中[root@localhost 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)配置
[root@localhost tools]# cd /etc/awstats/ //分析系统配置文件位置[root@localhost awstats]# vim awstats.www.zhy.com.conf50行,填写日志文件地址,改为 50 LogFile="/var/log/httpd/access_log"220行,查看 220 DirData="/var/lib/awstats" #分析系统站点,需手动创建(不建会报错)[root@localhost awstats]# mkdir /var/lib/awstats //创建站点[root@localhost awstats]# vim /etc/httpd/conf/httpd.conf //修改http服务配置文件按G定位末行,按照下面进行修改 Options None AllowOverride None # Order allow,deny //注释掉 # Allow from all //注释掉 Require all granted //手动添加,允许所有用户访问 [root@localhost awstats]# systemctl restart httpd
此时,日志分析系统所在网页已经配置完毕,不过很遗憾此时的网页完全就是空白的,没有任何数据,所以需要我们手动对网页进行重启。
(3)刷新
[root@localhost var]# cd /usr/local/awstats/tools[root@localhost tools]# ./awstats_updateall.pl nowRunning '"/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
。
[root@localhost tools]# crontab -e 添加*/3 * * * * ./awstats_updateall.pl now #每隔3分钟,执行刷新命令 wq保存退出[root@localhost tools]# systemctl start crond[root@localhost tools]# systemctl enable crond //启动并设置开机自启
(4)优化
目前想要进入日志分析系统中,就需要输入http://www.zhy.com/awstats/awstats.pl?config=www.zhy.com
这段超长的url,想要简化就需要在网站中新建一个专门指向的网页进行简化。
[root@localhost tools]# cd /var/www/html/[root@localhost html]# vim houtai.html //新建网页添加 #专门指向日志分析系统所在网页wq保存退出
(5)验证
只需要在地址栏输入www.zhy.com/houtai.html
即可进入日志文件系统中。