Apache配置应用与日志管理__GongWei1997

Apache连接保持

Apache连接保持相关参数

KeepAlive 默认开启

是否打开连接保持,Off关闭,On打开

KeepAliveTimeout 默认5

一次连接多次请求之间的最大间隔时间,两次请求超过该时间连接断开

MaxKeepAliveRequests 默认100

一次长连接能够传输的最大请求数量

配置访问控制

Require all granted //允许所有主机访问
Require all denied //拒绝所有主机访问
Require local //仅允许本地主机访问
Require [not] host <主机名或域名列表> //允许或拒绝指定主机或域名访问
Require [not] ip <地址或网段列表> //允许或拒绝指定IP地址网络访问

客户机地址限制

vi /usr/local/httpd/conf/httpd.conf     #对htdocs目录设置控制,直接新增两行
#方法一:
	<Directory "/usr/local/httpd/htdocs">     //搜索htdocs目录,在"AllowOverride None"下面添加:
	Order deny,allow
	Deny from 20.0.0.1/32
	</Directory>
#方法二:
<Directory "/usr/local/httpd/htdocs"> ..... //对htdocs目录设置控制,增加<RequireAll>范围和拒绝的ip:
<RequireAll>
Require all granted
Require not ip 20.0.0.1/32
</RequireAll>
</Directory>

查验效果

tail -5 /usr/local/httpd/logs/error_log #查看错误日志后5行

用户授权限制

#查看域名是否配置
vi /etc/httpd.conf 
ServerName www.aa.com:80

#创建一个需要认证的tom用户(.awspwd是一个格式)
htpasswd -c /usr/local/httpd/conf/.awspwd tom
输入密码:abc123
查看创建的用户
[root@client1 ~]# cat /usr/local/httpd//conf/.awspwd 
tom:$apr1$V2DLN/xV$pv0ygMM7cN.HTY1dKW6H6/

#添加用户授权配置
vi /etc/httpd.conf  //搜索htdocs目录,在"AllowOverride None"下面添加:
Order allow,deny
Allow from all
AuthName "www.aa.com" //受保护的领域名称
AuthType Basic       //认证类型
AuthUserFile /usr/local/httpd/conf/.awspwd   //用户认证账号的路径
Require valid-user   //要求通过认证才能访问
.....
 #Require all granted   //记得注释掉

systemctl stop httpd  //"systemctl restart httpd" 在这里可能不好用
systemctl start httpd

#为了让客户机也能访问主机,添加一个映射
vi /etc/hosts
20.0.0.15   www.aa.com (末行添加)

在这里插入图片描述

Apache日志管理

日志分割

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

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

Apache自带rotatelogs分割工具实现

[root@client1 ~]# which rotatelogs   //查看文件路径
/usr/bin/rotatelogs

# 配置日志分割
vi /etc/httpd.conf
# 搜索 ErrorLog "logs/error_log"并修改
# 在这基础上修改:
ErrorLog "|/usr/bin/rotatelogs -l logs/error_log_%Y-%m-%d 86400"  //通过管道符号把日志交给rotatelogs工具,通过-l命令,让日志分割间隔为一天。“error_log_%Y-%m-%d”是带有年月日时间戳的日志名,86400表示一天,单位为秒。
# 搜索CustomLog 并修改
CustomLog "|/usr/bin/rotatelogs -l logs/access_log_%Y-%m-%d 86400" common
#保存退出
#最后访问主页,然后切换到/usr/local/httpd/logs/目录下查看是否生成日志文件

使用cronolog进行日志分割

# 准备好压缩包 cronolog-1.6.2.tar.gz
tar -zxvf cronolog-1.6.2.tar.gz 
cd cronolog-1.6.2/
./configure && make && make install
which cronolog
/usr/local/sbin/cronolog
# 修改配置
vi /etc/httpd.conf
#ErrorLog "logs/error_log"
ErrorLog "|/usr/local/sbin/cronolog logs/www.abc.com.error_%Y-%m-%d.log" 
#CustomLog "/logs/access_log" common
CustomLog "|/usr/local/sbin/cronolog logs/www.abc.com.access_%Y-%m-%d.log" common
# 删除原有日志并访问主页,查看/usr/local/httpd/logs/下是否生成新的日志文件
rm -rf /usr/local/httpd/logs/www*
rm -rf /usr/local/httpd/logs/error_log_*
ls -lh /usr/local/httpd/logs/

AWStats日志分析

AWStats日志分析系统介绍

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

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页