1. apache配置剖析
1. Apache连接保持
-
Apache连接保持相关参数
1.KeepAlive (默认是On)
*是否打开连接保持,OFF关闭,ON打开 -
KeepAlive Timeout(默认超时时间5,保持连接状态的时间)
*一次连接多次请求之间的最大间隔时间,两次请求超过该时间连接断开 -
MaxKeepAliveRequests(默认100)
*一次长连接能够传输的最大请求数量
2. Apache访问控制
- 配置访问控制
Require all granted :允许所有主机访问
Require all denied : 拒绝所有主机访问
Require local: 仅允许本地主机访问
Require [not] host <主机名或域名列表>:允许或拒绝指定主机或域名访问
Require [not] ip <IP 地址或网段列表>:允许或拒绝指定IP地址网络访问
使用not禁止访问时要讲其置于<RequireAll></RequireAll>容器中并在指定相应的限制策略
- 用法解析
拒绝某一个指定地址访问网页
方法一:在网页站点目录中设置权限
vi /etc/httpd.conf
systemctl start httpd
systemctl status httpd
Order deny,allow
Deny from 20.0.0.1/32
方法二
vi /etc/httpd.conf
systemctl start httpd
httpd -t
netstat -anpt | grep httpd
tail error_log
<RequireAll>
Require all granted
Require not ip 20.0.0.1/32
</RequireAll>
Apache访问控制概述
-
Apache访问控制
作用
*控制对网站资源的访问
*为特定的网站目录添加服务授权 -
常用访问控制方式
客户机地址限制
用户授权限制 -
创建数据库文件
htpasswd -c /usr/local/httpd/conf/.awspwd tom
-
确认用户数据库文件
cat /usr/local/httpd/conf/.awspwd vi /etc/httpd.conf
- 配置编辑文件
vi /etc/httpd.conf
systemctl start httpd
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
20.0.0.19 www.giao.com
在浏览器上
20.0.0.19
www.giao.com
Apache日志管理
-
日志分割
随着网站的访问量增加,默认情况下Apache的单个日志文件也会越来越大
*日志文件占用磁盘空间很大
*查看相关信息不方便 -
对日志文件进行分割
Apache自带rotatelogs分割工具实现
第三方工具cronolog分割
日志分割
方法一 Apache自带rotatelogs分割工具实现
-
编辑配置文件
vi /etc/httpd.conf systemctl start httpd systemctl status httpd ErrorLog "|/usr/bin/rotatelogs -l logs/error_log_%Y-%m-%d 86400" CustomLog "|/usr/bin/rotatelogs -l logs/access_log_%Y-%m-%d 86400" common
方法二 第三方工具cronolog分割
-
解压缩安装包
tar zxvf cronolog-1.6.2.tar.gz
-
配置文件
[root@server5 ~]# cd cronolog-1.6.2/ [root@server5 cronolog-1.6.2]# ./configure
3.编译安装
make && make install
4.查看软件路径
[root@server5 cronolog-1.6.2]# which cronolog
/usr/local/sbin/cronolog
[root@server5 cronolog-1.6.2]# vi /etc/httpd.conf
ErrorLog "|/usr/local/sbin/cronolog logs/error.log_%Y-%m-%d"
CustomLog "|/usr/local/sbin/cronolog logs/access.log_%Y-%m-%d" common
[root@server5 ~]# systemctl start httpd
[root@server5 ~]# httpd -t
[root@server5 ~]# systemctl stop firewalld
[root@server5 ~]# setenforce 0
[root@server5 ~]# cd /usr/local/httpd/logs/
[root@server5 logs]# ls -lh
使用AWstats日志分析软件
不同于日志分割,是对整个日志进行分析
vi /etc/httpd.conf
systemctl start httpd
httpd -t
systemctl status httpd
ErrorLog "logs/error_log"
CustomLog "logs/access_log" common
查看日志文件
[root@server5 ~]# cd /usr/local/httpd/logs/
[root@server5 logs]# ls -lh
-
确认是否加载cgi模块
apachectl -D DUMP_MODULES | grep cgi
-
查看模块
[root@server1 ~]# cd /usr/local/httpd/modules/ [root@server1 modules]# ls -lh
-
配置文件,开启cgi模块
vi /etc/httpd.conf cd LoadModule cgid_module modules/mod_cgid.so LoadModule cgi_module modules/mod_cgi.so
-
解包
tar zxvf awstats-7.6.tar.gz
-
AWstats可以同时分析多个站点的数据
mv awstats-7.6 /usr/local/awstats vi /etc/hosts 20.0.0.19 www.giao.com
vi /etc/httpd.conf
ServerName www.giao.com:80
cd /usr/local/
[ ls -lh
chown -R root.root awstats/
cd awstats/
ls -lh
cd tools/
./awstats_configure.pl
输入apache日志文件路径(绝对路径)
/usr/local/httpd/conf/httpd.conf
是否设置apache日志文件格式为combined(日志文件格式默认是common)
y
是否生成AWstats配置文件
y
输入域名
www.giao.com
设置AWstats的配置文件(回车,保持默认)
回车
生成AWstats的访问路径
http://localhost/awstats/awstats.pl?config=www.giao.com
-
编辑AWstats的配置文件
vi /etc/awstats/awstats.www.giao.com.conf LogFile="/usr/local/httpd/logs/access_log" DirData="/var/lib/awstats"
- 以上完成AWstats配置文件修改完成
mkdir /var/lib/awstats 创建目录
cd /usr/local/httpd/logs/
ls -lh
rm -rf access.log*
rm -rf error.log*
cd /usr/local/awstats/tools/
ls -lh
./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.19,www.giao.com 操作,创建日志
cd /usr/local/awstats/tools/
./awstats_updateall.pl now
-
在浏览器上进入awstats日志
http://localhost/awstats/awstats.pl?config=www.giao.com