针对Apache服务的优化与配置(一)——日志文件优化

针对Apache服务的优化与配置
  1. 日志分割
  2. 日志文件分析
  3. Apache压缩
  4. 设置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)使用客户机进行访问,验证是否进行日志分割

针对Apache服务的优化与配置(一)——日志文件优化

[ 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即可进入日志文件系统中。

针对Apache服务的优化与配置(一)——日志文件优化


以上,就是有关Apache服务与日志相关的优化、配置操作,明后天将继续为各位带来后续的实验\~\~\~

相关推荐