Apache的配置与应用【Apache访问控制】以及apache日志管理【日志分割、awstats日志分析】

Apache的配置与应用以及日志管理

一、Apache连接和访问控制

1、Apache连接

Apache通过设置配置文件或者虚拟主机配置文件中相关的连接保持参数来开启与控制连接保持功能,如TCP的三次握手和四次挥手过程。

【1】KeepAlive

决定是否打开连接保持功能,后面接on表示开启,接off表示关闭。可以根据网站的并发请求量决定是否打开,即在高并发时打开连接保持功能。

【2】KeepAlive Timeout

表示一次连接多次请求之间的最大时间间隔,超过间隔时间就会断开,从而避免客户端占用连接资源。

【3】MaxKeepAliveTimeout

表示一次长连接能够传输最大请求数量。

【4】部署keepalive优化连接
[root@promote ~]# yum install -y httpd
[root@promote ~]# vim /etc/httpd/conf/httpd.conf
KeepAlive on
#KeepAlive off
KeepAliveTimeout 600
[root@promote ~]# systemctl restart httpd.service 
2、Apache的访问控制

为了控制网站的资源访问,可以为特定的网站目录添加访问授权

【1】客户机地址的限制

使用Require配置项实现访问控制,按先后顺序限制,可用于、、、配置段中。Require配置项中常见的语法:

Require all granted
Require all denied
Require local
Require [not] host <主机名或者域名列表>
Require [not] ip <IP地址或网段列表>

配置举例:

[root@promote ~]# vim /etc/httpd/conf/httpd.conf
<Directory />
    AllowOverride none
    <RequireAll>
    Require not ip 192.168.60.0/24
    Require all denied
    </RequireAll>
</Directory>
[root@promote ~]# systemctl restart httpd.service 

注意:使用not禁止访问时要将其置于容器中指定相应的限制策略。

【2】用户授权限制
(1)创建用户认证数据库htpasswd
[root@promote ~]# which htpasswd
/usr/bin/htpasswd
[root@promote ~]#  htpasswd -c /etc/httpd/conf/pwd tom
New password: (添加访问密码)
Re-type new password: 
Adding password for user tom
[root@promote ~]# cd /etc/httpd/conf/
[root@promote conf]# ls
httpd.conf  magic  pwd
(2)添加用户授权配置
[root@promote ~]# vim /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/html/"
<Directory "/var/www/html">
#名称
    AuthName "DocumentRoot"
#基本验证
    AuthType basic
#验证密码存放路径
    AuthUserFile /etc/httpd/conf/pwd
#允许身份验证
    Require valid-user
</Directory>
(3) 访问验证

在这里插入图片描述
设置之后需要输入访问的用户和密码进行访问
在这里插入图片描述

二、Apache日志管理

1、日志分割

【1】分割原因
随着网站的访问量增加,默认情况下Apache单个日志文件也会越来越大----日志文件占用的磁盘空间大,查看相关信息不方便,所以要对日志文件进行分割,只要使用的工具是Apache自带的rotatelogs和第三方工具cronlog。
【2】部署日志分割
(1)rotatelogs分割
在实际的环境中,一个服务器绝大多数对应N个子域名站点,为了方便统一管理,可以用虚拟主机的方式进行配置,并使用网站名表示日志文件。
在http配置文件中修改两行配置文件即可实现rotatelogs分割

ServerName www.test.com:80
Listen 192.168.60.60:80
ErrorLog "| /usr/sbin/rotatelogs -l logs/www.test.com.error_%Y%m%d.log 86400"  
CustomLog "| /usr/sbin/rotatelogs -l logs/www.test.com.access_%Y%m%d.log 86400" combined

进入该目录查看日志

[root@localhost httpd]# ls -l /var/log/httpd/
总用量 16
-rw-r--r--. 1 root root 11484 8月   5 19:24 www.test.com.access_20200805.log
-rw-r--r--. 1 root root   632 8月   5 19:26 www.test.com.error_20200805.log

(2)cronlog分割
cronolog是分割网站日志文件的工具,配置格式:

ErrorLog "| cronolog命令的绝对路径 日志文件的路径/网站名-error_%Y%m%d.log"
CustomLog "| cronolog命令的绝对路径 日志文件的路径/网站名-access_%Y%m%d.log" combined

部署安装步骤:
【1】上传安装

[root@localhost opt]# rz -E
rz waiting to receive.
[root@localhost opt]# ls
awstats-7.6.tar.gz  cronolog-1.6.2-14.el7.x86_64.rpm
[root@localhost opt]# 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%]
[root@localhost opt]# which cronolog 
/usr/sbin/cronolog

【2】修改配置文件

[root@localhost opt]# cd /etc/httpd/conf
[root@localhost conf]# ls
httpd.conf  magic
[root@localhost conf]# vim httpd.conf 
ServerName www.test.com:80
Listen 192.168.60.10:80
ErrorLog "| /usr/sbin/cronolog logs/www.test.com.error_%Y%m%d.log"
CustomLog "| /usr/sbin/cronolog logs/www.test.com.access_%Y%m%d.log" combined
[root@localhost conf]# systemctl start httpd.service
[root@localhost conf]# cd /var/log/httpd/
[root@localhost httpd]# ls
www.test.com.access_20200806.log  www.test.com.error_20200806.log
2、AWStats日志分析
【1】AWStats日志分析介绍

AWStats是一款由Perl语言开发的开源日志分析系统,可用来分析Apache、Samba、vsftpd、IIS等服务器的访问日志,结合crond等计划任务服务,可对日志内容定期进行分析。

【2】部署AWStats
(1)安装AWStats软件包
[root@localhost opt]# tar zxvf awstats-7.6
[root@localhost opt]# ls
awstats-7.6  awstats-7.6.tar.gz
[root@localhost opt]# mv awstats-7.6 /usr/local/awstats 
(2)为要统计的站点建立配置文件
[root@localhost opt]# cd /usr/local/awstats/
[root@localhost awstats]# ls
docs  README.md  tools  wwwroot
[root@localhost awstats]# cd tools/
[root@localhost tools]# ./awstats_configure.pl
............................................................
Config file path ('none' to skip web server setup):
> /etc/httpd/conf/httpd.conf
............................................................
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.test.com
...............................................................
#一直回车到完成
You can also read your statistics for 'www.test.com' with URL:
> http://localhost/awstats/awstats.pl?config=www.test.com
(3)开启模块控制,添加控制语段
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf

查看http配置文件再末行会自动添加下面内容
在这里插入图片描述

(4)修改AWStats站点统计配置文件
[root@localhost awstats]# cd /var/log/httpd/
[root@localhost httpd]# ls
www.test.com.access_20200806.log  www.test.com.error_20200806.log
[root@localhost ~]#cd /etc/awstats
[root@localhost awstats]# vim awstats.www.test.com.conf 
DirData="/var/lib/awstats"
LogFile="/var/log/httpd/www.test.com.access_20200806.log"
[root@localhost awstats]# cd /var/lib/
[root@localhost lib]# mkdir awstats
[root@localhost lib]# systemctl restart httpd
(5)测试及优化

在这里插入图片描述
再次刷新页面模拟访问
在这里插入图片描述
但问题是AWStats没有自动统计
在这里插入图片描述
分析:是没有刷新AWStats系统,所以没有显示

[root@localhost awstats]# cd /usr/local/awstats/tools/
[root@localhost tools]# ./awstats_updateall.pl now

解决并优化:
在这里插入图片描述
为了让系统实现自动的优化,所以我们使用crontab任务计划,让它买几分钟执行刷新脚本

/usr/local/awstats/tools/awstats_updateall.pl now
[root@localhost tools]# crontab -e
*/1 * * * * /usr/local/awstats/tools/awstats_updateall.pl now

这样就能实现自动更新
在这里插入图片描述

(6)访问网址的优化

实现这个功能需要使用dns服务功能。

[root@localhost ~]# cd /var/www/html/
[root@localhost html]# vim aws.html
<html>
<head>
<meta http-equiv=refresh content="0;url=http://www.test.com/awstats/awstats.pl?config=www.test.com">
</head>
<body></body>
</html>
[root@localhost html]# systemctl restart httpd.service 

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值