Apache配置剖析
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