文章目录
一、Apache连接保持
- keepalive
- 是否打开连接保持,OFF关闭,ON打开
- keepalivetimeout
- 一次连接多次请求之间的最大间隔时间,两次请求超过改时间连接断开
- maxkeepaliverequests
- 一次长连接能够传输的最大请求数量
1.1 编辑连接保持配置文件
vi /usr/local/httpd/conf/extra/httpd-default.conf
KeepAlive On //是否开启连接保持功能默认保持开启
MaxKeepAliveRequests 100 //一次连接最多请求100个文件
KeepAliveTimeout 5 //单位是秒,超过五秒钟断开
1.2 编辑主配置文件
vi /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-default.conf //去掉前面的#
1.3 抓包
打开网页,启动抓包工具,在Headers中可以看到刚才的设置
二、Apache访问控制
常用参数:
Require all granted: 允许所有主机访问
Require all denied: 拒绝所有主机访问
Require local:仅允许本地主机访问
Require [not] host <主机名或域名列表>:允许或拒绝指定主机或域名访问;
Require [not] ip <IP 地址或网段列表>:允许或拒绝指定IP地址网络访问
2.1 拒绝某个网段的主机访问
vi /usr/local/httpd/conf/httpd.conf //对htdocs目录设置控制,直接新增两行
Order deny,allow //设置允许和拒绝的顺序
Deny from 192.168.20.10/24 //拒绝20 网段的主机访问Apache主页
三、用户授权限制
3.1创建用户认证数据库
cd /usr/local/httpd/conf
ls /usr/local/httpd/bin
htpasswd -c /usr/local/httpd/conf/.awspwd lqy //-c选项只在新建时使用,.awspwd密码文件,用户自定义
3.2 添加用户授权配置
vi /usr/local/httpd/conf/httpd.conf //添加用户授权配置
<Directory "/usr/local/httpd/htdocs">
AuthName "DocumentRoot" ##受保护的领域名称(自定义)
AuthType Basic ##认证类型
AuthUserFile /usr/local/httpd/conf/.awspwd ##用户认证帐号密码文件
Require valid-user ##要求通过认证才能访问
#Require all granted ##注释允许所有访问,关闭此配置
</Directory>
3.3 重启服务
systemctl restart httpd
四、日志分割
- 随着网站的访问量增加,默认情况下Apache的单个日志文件也会越来越大
- 日志文件占用磁盘空间很大
- 查看相关信息不方便
- 对日志文件进行分割
- Apache自带rotatelogs分割工具实现
- 第三方工具cronolog分割
4.2 配置日志分割(rotatelogs)
编辑配置文件
vi /usr/local/httpd/conf/httpd.conf
ErrorLog “|/usr/bin/rotatelogs -l logs/www.test.com_error_%Y%m%d.log 86400”
以秒为单位,将错误日志以一天为间隔进行分隔
CustomLog “|/usr/bin/rotatelogs -l logs/www.test.com_access_%Y%m%d.log 86400” common
将访问日志以一天为间隔进行分隔
4.3 第三方工具cronolog分割
4.1、xftp导入依赖包并解压
tar -zxvf cronolog-1.6.2.tar.gz
4.2、配置configure并编译安装
./configure && make && make install
4.3、确认工具位置,并修改配置文件
which cronolog
vi /usr/local/httpd/conf/httpd.conf
ErrorLog "|/usr/local/sbin/rotatelogs logs/www.test.com_error_%Y%m%d_log"
CustomLog "|/usr/bin/rotatelogs logs/www.test1.com_access_%Y%m%d_log 86400" common
五、第三方工具AWStarts
- perl语言开发的一款开源日志分析系统
- 可用来分析Apache、Samba、Vsftpd、IIS等服务器的访问日志
- 综合crond等计划任务服务,可对日志内容定期进行分析
5.1 开启Apache的cgi模块
vi /etc/local/httpd/conf/httpd.conf
去掉#使服务生效
5.2 编译安装AWStarts
tar -zxvf awstats-7.6.tar.gz
mv awstats-7.6 /usr/local/awstats
5.3 设置服务器域名和hosts域名解析
vi /etc/hosts
vi /usr/local/httpd/conf/httpd.conf
5.4 自动执行配置脚本
cd /usr/local/awstats/tools/
./awstats_configure.pl
第一步:
第二步:
第三步:
第四步:
第五步(一直回车):
5.5 修改AWStarts配置文件
建立数据存放目录
mkdir /var/lib/awstats
5.6 添加访问权限
vi /usr/local/httpd/conf/httpd.conf