Apache基础与日志

本文档详细介绍了Apache服务器的基础配置,包括连接保持参数设置,如KeepAlive、MaxKeepAliveRequests和KeepAliveTimeout。此外,还讲解了如何配置访问控制,如限制特定IP和用户的访问,以及创建用户认证数据库。最后,探讨了Apache的日志管理,包括日志分割和使用AWstats进行日志分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Apache连接保持

Apache连接保持相关参数
KeepAlive (默认是On)

是否打开连接保持,OFF关闭,ON打开
KeepAlive Timeout(默认超时时间5,保持连接状态的时间)

一次连接多次请求之间的最大间隔时间,两次请求超过该时间连接断开
MaxKeepAliveRequests(默认100)

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

Apache 基础服务配置

连接保持

[root@server1 ~]# vi /usr/local/httpd/conf/extra/httpd-default.conf

默认配置

KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

保证主配置文件使用这些参数

[root@server1 ~]# vi /usr/local/httpd/conf/httpd.conf
[root@server1 ~]# systemctl start httpd 启动服务
[root@server1 ~]# netstat -anpt | grep httpd 查看端口状态
[root@server1 ~]# systemctl status httpd 查看服务状态
[root@server1 ~]# curl http://localhost 默认网页

查看日志文件

[root@server1 ~]# cd /usr/local/httpd/logs/
[root@server1 logs]# ls -lh

-rw-r–r–. 1 root root 318 11月 25 14:15 access_log 访问日志
-rw-r–r–. 1 root root 700 11月 25 14:08 error_log 错误日志

[root@server1 logs]# tail -5 access_log 查看访问的客户机ip地址

Apache访问控制

配置访问控制

Require all granted :允许所有主机访问
Require all denied : 拒绝所有主机访问
Require local: 仅允许本地主机访问
Require [not] host <主机名或域名列表>:允许或拒绝指定主机或域名访问
Require [not] ip <IP 地址或网段列表>:允许或拒绝指定IP地址网络访问
使用not禁止访问时要讲其置于容器中并在指定相应的限制策略
用法解析
拒绝某一个指定地址访问网页

在网页站点目录中设置权限

[root@server1 ~]# vi /etc/httpd.conf
[root@server1 ~]# systemctl start httpd
[root@server1 ~]# systemctl status httpd

Order deny,allow 顺序,先拒绝后允许
Deny from 20.0.0.1/32
查看错误日志

[root@server1 ~]# cd /usr/local/httpd/logs/
[root@server1 logs]# tail -5 error_log

Apache访问控制

作用

控制对网站资源的访问
为特定的网站目录添加服务授权

常用访问控制方式

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

创建用户认证数据库

[root@www ~]# cd /usr/local/ttpd/
[root@www httpd]# bin/htpasswd -C /usr/local/httpd/conf/ .awspwd

-C :新建使用,再次建用户则不需要
/usr/local/httpd/conf/ .awspwd:新建密码文件

webadmin 认证用户
New password:
Re-type new password:
Adding password for user webadmin
[root@www httpd]# cat /usr/ocal/httpd/conf/.awspwd 确认用户数据库文件
webadmin:$apr1 $L _53Ws/ Y2$3L 4xhs4zZKDbJb.9p 1fNg.

添加用户授权配置

[root@www ~ ]# vim /etc/httpd/conf/httpd.conf

<Directory “/usr/local/httpd/htdocs”>

AuthName “DocumentRoot” 受保护的领域名称
AuthType Basic 认证类型
AuthUserFile /etc/httpd/conf/ . awspwd用户认证账号文件
Require valid-user 要求通过认证才能访问

[root@www ~ ]# systemctl restart httpd

验证用户访问授权

用户名
密码

允许授权用户登录

[root@server1 ~]# vi /etc/httpd.conf

ServerName www.aa.com:80

创建数据库文件

[root@server1 ~]# htpasswd -c /usr/local/httpd/conf/.awspwd tom
-C :新建使用,再次建用户则不需要
/usr/local/httpd/conf/ .awspwd:新建密码文件
tom: 需要认证的用户名

确认用户数据库文件

[root@server1 ~]# cat /usr/local/httpd/conf/.awspwd
[root@server1 ~]# vi /etc/httpd.conf

配置编辑文件

[root@server1 ~]# vi /etc/httpd.conf
[root@server1 ~]# systemctl start httpd
[root@server1 ~]# vi /etc/hosts

Order allow,deny 顺序先允许,后拒绝
Allow from all 允许所有
AuthName “www.aa.com” 认证域名
AuthType Basic 认证类型基本
AuthUserFile /usr/local/httpd/conf/.awspwd 认证文件路径
Require valid-user 允许授权用户登录
#Require all granted

Apache日志管理

2.1 日志分割

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

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

对日志文件进行分割

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

日志分割

Apache自带rotatelogs分割工具实现

.编辑配置文件

[root@server1 ~]# vi /etc/httpd.conf
[root@server1 ~]# systemctl start httpd
[root@server1 ~]# systemctl status httpd

访问日志设置

ErrorLog “|/usr/bin/rotatelogs -l logs/error_log_%Y-%m-%d 86400”

-l:表示使用本地时间
/error_log:日志名称
%Y-%m-%d:年-月-日
86400:表示日志分隔的间隔是1天,单位是秒

错误日志设置

CustomLog “|/usr/bin/rotatelogs -l logs/access_log_%Y-%m-%d 86400” common

使用AWstats日志分析软件
不同于日志分割,是对整个日志进行分析

[root@server1 ~]# vi /etc/httpd.conf
[root@server1 ~]# systemctl start httpd
[root@server1 ~]# httpd -t
[root@server1 ~]# systemctl status httpd

ErrorLog “logs/error_log”
CustomLog “logs/access_log” common

查看日志文件

[root@server1 ~]# cd /usr/local/httpd/logs/
[root@server1 logs]# ls -lh

开始正式配置

[root@server1 logs]# cd

确认是否加载cgi模块

[root@server1 ~]# apachectl -D DUMP_MODULES | grep cgi

查看模块

[root@server1 ~]# cd /usr/local/httpd/modules/
[root@server1 modules]# ls -lh

配置文件,开启cgi模块

[root@server1 modules]# vi /etc/httpd.conf
[root@server1 modules]# cd

日志分析工具与命令引用接口
LoadModule cgid_module modules/mod_cgid.so
LoadModule cgi_module modules/mod_cgi.so

.解压缩文件

[root@server1 ~]# tar zxvf awstats-7.6.tar.gz
1
.AWstats可以同时分析多个站点的数据

[root@server1 ~]# mv awstats-7.6 /usr/local/awstats
[root@server1 ~]# vi /etc/hosts 映射记录

20.0.0.10 www.yy.com

编辑AWstats的配置文件

[root@server1 tools]# vi /etc/awstats/awstats.www.aa.com.conf

LogFile=“/usr/local/httpd/logs/access_log”
DirData=“/var/lib/awstats”

[root@server1 tools]# cd
[root@server1 ~]# cd /var/lib/awstats
[root@server1 ~]# mkdir /var/lib/awstats 创建目录
以上完成AWstats配置文件修改完成

[root@server1 ~]# cd /usr/local/httpd/logs/
[root@server1 logs]# ls -lh
[root@server1 logs]# rm -rf access.log*
[root@server1 logs]# rm -rf error.log*

[root@server1 ~]# cd /usr/local/awstats/tools/
[root@server1 tools]# ls -lh
[root@server1 tools]# ./awstats_updateall.pl now 重新更新日志,手动采集日志

[root@server1 ~]# vi /etc/httpd.conf
[root@server1 ~]# systemctl stop httpd
[root@server1 ~]# systemctl start httpd
添加
Require all granted
在浏览器上分别进行http://20.0.0.10,www.aa.com 操作,创建日志

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值