Apache连接保持
Apache配置解析
Apache保持连接
Apache访问控制
Apache日志管理
日志分割
AWStats日志分析
Aapche连接保持相关参数
keepAlive
是否保持连接保持,OFF关闭,ON打开
KeepAilve Timeout
一次连接多次请求之间最大间隔时间,两次请求超时过该时间连接断开
MaxKeepAliveRequests
一次长连接能够传输最大请求数量
配置Apache服务和连接保持
yum -y install gcc gcc-* make
yum -y install apr-util-devel pcre-devel zlib-devel
tar zxf httpd-2.4.25.tar.gz -C /usr/src
cd /usr/src/httpd-2.4.25/
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
make && make install
ln -s /usr/local/httpd/bin/* /usr/local/bin
cat > /lib/systemd/system/httpd.service << 'EOF'
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart= /usr/local/bin/apachectl $OPTIONS
ExecrReload= /bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
EOF
systemctl enable httpd.service
systemctl start httpd.service
#保持连接
[root@bogon ~]# vi /usr/local/httpd/conf/httpd.conf
Apache访问控制概述
Apache访问控制
作用
控制对网站资源的访问
为特定的网站目录添加访问授权
常用访问控制方式
客户机地址限制
用户授权限制
访问控制
代码操作
[root@bogon ~]# vi /usr/local/httpd/conf/httpd.conf
找到252行写入要配置的IP进行访问控制
Require ip 192.168.93.1
#写完之后刷新
[root@bogon ~]# systemctl restart httpd
[root@bogon ~]# cd /usr/local/httpd/
[root@bogon httpd]# bin/htpasswd -c /usr/local/httpd/conf/.awspwd webadmin
[root@bogon ~]# vi /usr/local/httpd/conf/httpd.conf
AuthName "DocumentRoot"
AuthType Basic
AuthUserFile /usr/local/httpd/conf/.awspwd
Require valid-user
#保存退出并刷新
[root@bogon httpd]# systemctl restart httpd
[root@bogon httpd]# cd logs
[root@bogon logs]# ls -lh #查看当前日志
Require all granted:允许所有主机访问
Require all denied:拒绝所有主机访问
Require local:仅允许本地主机访问
Require [not] host :允许或拒绝指定主机或域名访问
Require [not] ip :允许或拒绝指定 IP 地址网络访问
日志分割
随着网站的访问量增加,默认情况下Apache的单个日志文件也会越来越大
日志文件占用磁盘空间很大
查看相关信息不方便
对日志文件进行分割
Apache自带rotatelogs分割工具实现
第三方工具cronolog分割
代码操作
日志文件
[root@bogon logs]# mkdir /var/log/httpd
[root@bogon logs]# vi /usr/local/httpd/conf/httpd.conf
#在282行添加
ErrorLog "|/usr/local/bin/rotatelogs -l /var/log/httpd/error_%Y%m%d.log 86400"
#307行添加
CustomLog "|/usr/local/bin/rotatelogs -l /var/log/httpd/access_%Y%m%d.log 86400" combined
日志分割
# 编译安装 cronolog 工具
tar zxvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure
make && make install
# 设置 cronolog 工具工具分割 apache 日志
vi /usr/local/httpd/conf/httpd.conf
ErrorLog "|/usr/local/sbin/cronolog /var/log/httpd/www.kgc.com-error_%Y%m%d.log"
CustomLog "|/usr/local/sbin/cronolog /var/log/httpd/www.kgc.com-access_%Y%m%d.log" combined
[root@bogon ~]# tar zxf awstats-7.7.tar.gz
[root@bogon ~]# mv awstats-7.7 /usr/local/awstats
[root@bogon ~]# yum -y install perl
[root@bogon ~]# cd /usr/local/awstats/tools/
[root@bogon tools]# chmod +x awstats_configure.pl
[root@bogon tools]# ./awstats_configure.pl
[root@bogon tools]# vi /usr/local/httpd/conf/httpd.conf
[root@bogon tools]# vi /usr/local/httpd/conf/httpd.conf
[root@bogon tools]# rm -rf /usr/local/httpd/access_log
[root@bogon tools]# rm -rf /usr/local/httpd/error_log
[root@bogon tools]# systemctl restart httpd
修改之前配置把314注释删掉
[root@bogon tools]# vi /etc/awstats/awstats.www.kgc.com.conf
在50行左右输入路径
/usr/local/httpd/logs/access_log
[root@bogon tools]# mkdir /var/lib/awstats
[root@bogon tools]# cd /usr/local/awstats/tools/
[root@bogon tools]# chmod +x awstats_updateall.pl
[root@bogon tools]# ./awstats_updateall.pl now
[root@bogon tools]# crontab -e
*/5 * * * * /usr/local/awstats/tools/awstats_updateall.pl now
在进行Apache配置与应用时,应该始终注意安全性问题。例如,应该定期更新Apache服务器和操作系统以获取最新的安全补丁和修复程序;删除不必要的模块和功能以减少潜在的安全漏洞;配置访问控制以限制对服务器资源的访问权限等