文章目录
1.Apache连接保持
1.1Apache连接保持相关参数
KeepALIVE:
是否打开连接保持,默认开启On,关闭Off
KeepAliveTimeout:
一次连接多次请求之间的最大间隔时间,两次请求超过该时间连接断开
MaxKeepAliveRequests:
一次长连接能够传输的最大请求数量
1.2配置文件配置
开启区域配置功能
vi /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-default.conf
配置区域配置文件
vi /usr/local/httpd/conf/extra/httpd-default.conf
KeepAlive On
KeepAliveTimeout 5
MaxKeepAliveRequests 100
1.3利用抓包软件测试
1.3.1安装fiddler软件
https://www.telerik.com/fiddler
1.3.2抓包操作步骤
2.Apache访问控制
作用:
控制对网站资源的访问
为特定的网站目录添加访问权限
常用访问控制方式:
客户机地址限制
用户授权限制
2.1访问控制常用配置参数
<RequireALL> ##此类写法需写在开始结束标签内
Require all granted ##允许所有主机访问
Require all denied ##拒绝所有主机访问
Require local ##仅允许本地主机访问
Require 【not】 host <主机名或域名列表> ##允许或拒绝指定主机或域名访问
Require 【not】 ip <地址或网段列表> ##允许或拒绝指定IP地址网络访问
</RequireALL>
Order deny,allow ##设置允许和拒绝的顺序
Deny from 192.168.30.0/24 ##拒绝192.168.30.0网段访问
2.2客户机地址限制操作
192.168.30.0网段主机无法访问Apache主页
vi /usr/local/httpd/conf/httpd.conf
<Directory "/usr/local/httpd/htdocs">
Order deny,allow
<RequireALL>
Require all granted
Require not ip 192.168.30.0
<RequireALL>
</Directory>
2.3用户授权限制操作
创建用户认证数据库
利用apache可执行文件htpasswd操作
cd /usr/local/httpd/bin
htpasswd -c /usr/local/httpd/conf/.awspwd htuser ##-c选项只在新建时使用,新建 .awspwd密码文件,用户自定义为htuser
New passwored:123456 ##输入密码
Re-type new password:123456 ##再次输入
添加用户授权配置
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>
systemctl restart httpd
3.日志分割
随着网站的访问量增加,默认清空下Apache的单个日志文件也会越来越大
- 日志文件占用磁盘空间很大
- 查看相关信息不方便
对日志文件进行分割的方法 - Apache自带rotatelogs分割工具实现
- 第三方工具cronolog分割工具
3.1 rotatelogs工具操作
vi /usr/local/httpd/conf/httpd.conf
ErrorLog "|/usr/bin/rotatelogs -l logs/www.aa.com_error_%Y%m%d.log 86400"
## 以秒为单位,将错误日志以一天为间隔进行分隔
CustomLog "|/usr/bin/rotatelogs -l logs/www.aa.com_access_%Y%m%d.log 86400" common
##将访问日志以一天为间隔进行分隔
3.2 cronolog工具操作
先编译安装cronolog软件
tar -zxvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure && make && make install
确认cronolog位置
修改配置文件
vi /usr/local/httpd/conf/httpd.conf
ErrorLog "|/usr/local/sbin/rotatelogs logs/www.aa.com_error_%Y%m%d_log"
CustomLog "|/usr/bin/rotatelogs logs/www.aa.com_access_%Y%m%d_log 86400" common
4.日志分析
使用AWStats第三方工具
Perl语言开发的一款开源日志分析系统
可用来分析Apache、Samba、Vsftpd、LLS等服务器的访问日志
结合crond等计划任务服务,可对日志内容定期进行分析
4.1配置日志分析
开启Apache的cgi模块
vi /usr/local/httpd/conf/httpd.conf
<IfModule !mpm_prefork_module>
LoadModule cgid_module modules/mod_cgid.so
</IfModule>
<IfModule mpm_prefork_module>
LoadModule cgi_module modules/mod_cgi.so
</IfModule>
编译安装awstats软件
并将应用文件拷贝至/usr/local目录下以awstats命名
tar -zxvf awstats-7.6.tat.gz
mv awstats-7.6 /usr/local/awstats
设置Apache服务器域名及hosts域名解析
vi /etc/hosts
192.168.20.10 www.aa.com
vi /usr/local/httpd/conf/httpd.conf
ServerName www.aa.com
自动执行配置脚本,根据提示回复交互信息
cd /usr/local/awstats/tools
./awstats_configure.pl
交互步骤:
修改awstats程序主配置文件
vi /etc/awstats/awstats.www.aa.com.conf
LogFile="/usr/local/httpd/logs/access_log" ##修改日志文件位置
DirData="/var/lib/awstats" ##建立每次抓取的数据存放位置
##手动创建抓取数据存放目录
mkdir /var/lib/awstats
**注意:**带有common格式的日志无法抓取,需清空
cd /usr/local/httpd/logs
rm -f *log
添加awstats访问权限
vi /usr/local/httpd/conf/httpd.conf
<Directory "/usr/local/awstats/wwwroot">
Options None
AllowOverride None
Order allow,deny
Allow from all
Require all granted ##添加此配置
</Directory>
手动采集数据
/usr/local/awstats/tools/awstats_updateall.pl now
4.2打开软件图形化界面查看日志分析
图形化界面网址在执行配置脚本的交互结束时给出
打开网址
http://localhost/awstats/awstats.pl?config=www.aa.com
界面: