Apache配置与应用

一、Apache连接保持

1 Apache连接保持相关参数

  • KeepAlive:是否打开连接保持,默认开启ON,关闭Off
  • KeepAliveTimeout:一次连接多次请求之间的最大间隔时间,两次请求超过该时间连接断开
  • MaxKeepAliveRequests:一次长连接能够传输的最大请求数量

1.配置文件配置
在这里插入图片描述
在这里插入图片描述

[root@server1 ~]# systemctl start httpd
[root@server1 ~]# systemctl status httpd
[root@server1 ~]# systemctl stop firewalld
[root@server1 ~]# setenforce 0
[root@server1 ~]# netstat -anpt | grep httpd
[root@server1 ~]# curl http://localhost

在这里插入图片描述
抓包步骤:
在这里插入图片描述

二、Apache访问控制

作用:控制对网站资源的访问,为特定的网站目录添加访问权限

常用访问控制方式:

  • 客户机地址限制
  • 用户授权限制

1.访问控制常用配置参数

<RequireALL>  ##此类写法需写在开始结束标签内
Require all granted				##允许所有主机访问
Require all denied				##拒绝所有主机访问
Require local				##仅允许本地主机访问
Require 【not】 host <主机名或域名列表>	##允许或拒绝指定主机或域名访问
Require 【not】 ip <地址或网段列表>		##允许或拒绝指定IP地址网络访问	
</RequireALL>

Order deny,allow		##设置允许和拒绝的顺序
Deny from 12.0.0.13		##拒绝12.0.0.13网段访问

2.拒绝访问方式一

添加中间两行规则可以使某指定ip无法访问httpd网页

<Directory "/usr/local/httpd/htdocs">
Order deny, allow
Deny from 20.0.0.13/21
</Directory>

在这里插入图片描述
但是其它的ip地址的依旧可以访问
在这里插入图片描述
可以使用日志文件查看网站的访问情况,可以看出被拒绝访问

tail  -5  err_log

在这里插入图片描述

3.拒绝访问方式二

   <RequireAll>   
     Require all granted
	 Require not ip 20.0.0.13/32
</RequireAll>

在这里插入图片描述

tail -5 /usr/local/httpd/logs/error_logs  ## 查看错误日志文件信息

在这里插入图片描述

三、日志分割

1.日志分割的重要性

随着网站的访问量增加,默认情况下Apache的单个日志文件也会越来越大

  • 日志文件占用磁盘空间很大
  • 查看相关信息不方便

对日志文件进行分割

  • Apache自带rotatelogs分割工具实现
  • 第三方工具cronolog分割

2.日志分割的配置文件

Apache 自带 rotatelogs 分割工具

vi /etc/httpd.conf
ErrorLog "|/usr/bin/rotatelogs -l logs/error_log_%Y-%m-%d 86400"
CustomLog "|/usr/bin/rotatelogs -l logs/access_log_%Y-%m-%d 86400" common
systemctl restart httpd
ls /usr/local/httpd/logs/
使用第三方工具 cronolog 分割
tar zxvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure
make && make install
设置 cronolog 工具工具分割 apache 日志
vi /usr/local/httpd/conf/httpd.conf
ErrorLog "|/usr/local/sbin/cronolog /var/log/httpd/www.51xit.top-error_%Y%m%d.log" 
CustomLog "|/usr/local/sbin/cronolog /var/log/httpd/www.51xit.top-access_%Y%m%d.log" common
systemctl restart httpd

在这里插入图片描述
其中日志目录下会产生新的文件

四、日志分析

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

1.配置httpd、dns服务

[root@server1 ~]# yum install httpd bind -y
	[root@server1 ~]# vim /etc/named.conf 
	options {
        listen-on port 53 { any; };
    .......省略内容
    allow-query     { any; };
	[root@server1 ~]# vim /etc/named.rfc1912.zones
	.......省略内容
	zone "aaa.com" IN {
    type master;
    file "aaa.com.zone";
    allow-update { none; };
	......省略内容
	[root@server1 ~]# cd /var/named/
	[root@server1 named]# cp -p named.localhost aaa.com.zone
	[root@server1 named]# vim aaa.com.zone
	www  IN A       20.0.0.13
	[root@server1 named]# systemctl start named
	[root@server1 named]# vim /etc/httpd/conf/httpd.conf 
	Listen  20.0.0.13:80
	#Listen 80
	ServerName www.aaa.com:80
	[root@server1 named]# setenforce 0
	[root@server1 named]# iptables -F
	[root@server1 named]# systemctl start httpd.service 

2.配置AWStats服务

[root@server1 named]# cd /usr/local/awstats/tools/
[root@server1 tools]# ./awstats_configure.pl 
> /etc/httpd/conf/httpd.conf '//第一次交互输入此路径
' y //第二次交互输入y
www.aaa.com //第三次交互输入指定域名
//第四五六次交互直接回车

[root@server1 tools]# vim /etc/awstats/awstats.www.cllt.com.conf
LogFile="/var/log/httpd/access_log"   
DirData="/var/lib/awstats"  
[root@server1 tools]# cd /var/lib
[root@server1 lib]# mkdir awstats
[root@server1 lib]# systemctl restart httpd

使用刚刚交互生成的网址访问,将其中的localhost修改为指定域名访问awstats网页
在这里插入图片描述
在服务器中输入更新数据的命令

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

在这里插入图片描述
因为手动刷新数据是很麻烦的,可以将此任务加入到周期性任务中

[root@server1 tools]# crontab -e
* /5 * * * * /usr/local/awstats/tools/awstats_updateall.pl now
[root@server1 tools]# systemctl restart httpd
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页