1.Apache连接保持
1)KeepAlive:决定是否打开连接保持功能,后面接OFF表示关闭,接ON表示打开
2)KeepAliveTimeout:表示一次连接多次请求之间的最大间隔时间,即两次请求之间超过该时间,就会自动断开,从而避免客户端占用连接资源
3)MaxKeepAliveRequstes:在一次长连接中可以传输的最大请求数量,超过此最大请求数量就会自动断开连接
修改配置之后可以用命令 httpd -t 检查配置文件语法是否存在问题
Apache访问控制
Apache通过设置配置文件httpd-default.conf中相关的连接保持参数来开启与控制连接保持功能
- 作用:
- 控制对网站资源的访问
- 为特定的网站目录添加访问授权
- 常用访问控制方式
- 客户机地址限制
- 用户授权限制
基于客户端地址的访问控制
- 使用Require配置项实现访问控制,按先后顺序限制
- 可用于< Location >、< Directory >、< Flies > 、< Limit > 配置段中
- Require配置项的常见语法
- Require all granted 允许所有
- Require all denied 拒绝所有
- Require local 只允许本机用户
- Require [ not ] host < 主机名或域名列表 > 仅允许/拒绝 按主机名或域名拒绝
- Require [ not ] ip < IP地址或网段列表 > 仅允许/拒绝 按IP或网段拒绝
使用not
禁止访问时要将其置于< RequireAll > < /RequireAll >容器中并在容器中指定相应的限制策略(Centos 7),并且遵循匹配即中止原则。
用户授权限制
- 创建用户认证数据库
htpasswd [ -c /etc/httpd/conf/.awspwd (指明数据存放路径 第一次创建时需要此选项)] webadmin
cat /usr/local/httpd/conf/.mypwd //查看用户认证数据库
- 修改配置文件
在<Directory “/usr/local/htppd/htdocs”> ……………中添加配置
如:
<Directory “/usr/local/htppd/htdocs”>
……………
AuthName “XXXXXXX” //受保护的域名
AuthType Basic //认证类型为基础
AuthUserFile /usr/local/httpd/conf/.awspwd //用户数据库文件位置
Require valid-user //要求通过认证才能访问
httpd -t//检查语法
systemctl stop httpd
systemctl start httpd//重启httpd服务
- 测试
win10访问
输入刚刚创建的用户和密码
日志分割
- 随着网站的访问量增加,默认情况下Apache的单个日志文件也会越来越大
- 日志文件占用磁盘空间很大
- 查看相关信息不方便
对日志文件进行分割
Apache自带rotatelogs分割工具实现
cd /usr/local/httpd/logs//进入存放日志的目录下
rm -rf kcce.com-*//删除之前做实验的其他日志
rm -rf kgc.com-* //删除之前做实验的其他日志
剩下默认的三个日志文件
vi /usr/local/httpd/conf/httpd.conf///编译主配置文件
因为是单个域名所以取消注释
修改错误日志的存放路径,采用日志分割技术
|/usr/local/httpd/bin/rotatelogs -l /usr/local/httpd/logs/kgc.error-%Y%m%d.log 86400
以本机的时间存放到/usr/local/httpd/logs/
名为kgc.error-%Y%m%d.log 年月日
86400秒=1天 按天分割
修改正确日志的存放路径,采用日志分割技术
“|/usr/local/httpd/bin/rotatelogs -l /usr/local/httpd/logs/kgc.access-%Y%m%d.log 86400” combined
kgc.access-%Y%m%d.log //名字错误的error改成access正确的单词
common改成combined //采用复杂的格式
httpd -t//检查语法
systemctl stop httpd
systemctl start httpd//重启httpd服务
vi /etc/hosts//确认hosts里域名的映射关系
hostname//确认主机名
验证
win访问网站,触发点击事件,都会生成日志
cd /usr/local/httpd/logs//进入存放日志的目录
ls//就会生成日志
日志分析系统
- AWStats日志分析系统
Perl语言开发的一款开源日志分析系统
可用来分析Apache、 Samba、Vsftpd、IIS等服务器的访问日志
信息结合crond等计划任务服务,可对日志内容定期进行分析
因为AWStats日志分析系统与rotatelogs分割工具互斥所以先把上面做的还原
vi /usr/local/httpd/conf/httpd.conf///编译主配置文件
Require all granted//取消注释允许所有
AuthName “my auth”
AuthType Basic
AuthUserFile /usr/local/httpd/conf/.mypwd
Require valid-user//注释掉添加用户授权配置的语句
还原默认
combined 推荐用长格式的,记录更详细的消息
httpd -t//检查语法
systemctl stop httpd
systemctl start httpd//重启httpd服务
cd /usr/local/httpd/logs//进入存放日志的目录
rm -rf kgc*//删除之前rotatelogs分割工具生成的日志
echo > access_log//清空之前的日志
cd /usr/src//进入压缩包目录下
tar xf awstats..... -C /usr/local///解压缩到源码包的路径下
cd /usr/local//进入源码包路径下
mv awstats-7... awstats//修改包名
cd awstats//进入包目录下
ls//查看
docs //说明文档
tools //工具包
wwwroot //存放最终分析结果的网站
cd tools//进入工具包
./awstats_configure.pl//直接配置
//监控哪项服务?写上apache的安装路径配置文件//
//监控哪项服务?写上apache的安装路径配置文件//
是否要自动建一个配置文件? 输入y
你的站点名称是什么? 输入域名
日志分析的配置文件在哪 回车选择默认路径即可
最终可以通过这个网站来监控
localhost对于服务器是本机
对于其他的就要修改成域名或者IP地址(写域名的话,提前写好A记录的映射关系)
vi /etc/awstats/awstats.www.kgc.com.conf //编译生成的配置文件
监控日志的来源 修改为真实的日志来源
监控后的日志存放的路径
mkdir /var/lib/awstats//因为没有这个文件所以手工建一个这个目录
vi /usr/local/httpd/conf/httpd.conf///编译主配置文件
Awstats自动追加的配置项
Require all granted //因为版本旧所以注释以前的Order allow,deny和Allow from all,改成centos7的风格,追加一条允许所有都可以访问
cgi是安装apache的时候,已经安装的模块,所以取消cgi模块的注释,使其支持动态的网站
systemctl stop httpd
systemctl start httpd//重启httpd服务
结合计划任务实时更新
cd /usr/local/awstats/tools//进入awstats工具包目录
ls
awstats_updateall.pl//手工刷新的可执行文件
./awstats_updateall.pl now//加上now立刻更新
如果报错则使用/usr/local/awstats-7.6/wwwroot/cgi-bin/ awstats.pl -update -config= www.kgc.com 进行刷新
crontab -e//添加任务计划
每隔5分钟执行一次命令(要加上绝对路径 /usr/local/awstats/tools/awstats_updateall.pl now)
如果报错则使用/usr/local/awstats-7.6/wwwroot/cgi-bin/ awstats.pl -update -config= www.kgc.com
crontab -l//查看任务计划
systemctl restart crond//执行一次任务计划
systemctl enable crond//开机自启动任务计划
查看统计页面
设置网页自动跳转,方便访问
[root@www ~]# vim /var/www/html/awb.html
<html>
<head>
<meta http-equiv=refresh content="0;
url=http://www.kcce.com/awstats/awstats.pl?config=www.kcce.com">
</head>
<body></body>
</html>
这样以后直接输入www.kgc.com/awb.html就可以自动跳转到日志分析界面