针对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 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)重启服务,并关闭防火墙
[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 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)重启服务,并关闭防火墙
[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 80
95行,开启域名
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.pl
awstats-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.conf
50行,填写日志文件地址,改为
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 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
。
[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
即可进入日志文件系统中。