Apache的配置与应用以及日志管理

文章目录

  • Apache的配置与应用以及日志管理
    • 一、Apache连接和访问控制
      • 1、Apache连接
        • 【1】KeepAlive
        • 【2】KeepAlive Timeout
        • 【3】MaxKeepAliveTimeout
        • 【4】部署keepalive优化连接
      • 2、Apache的访问控制
        • 【1】客户机地址的限制
        • 【2】用户授权限制
          • (1)创建用户认证数据库htpasswd
          • (2)添加用户授权配置
          • (3) 访问验证
    • 二、Apache日志管理
      • 1、日志分割
      • 2、AWStats日志分析
        • 【1】AWStats日志分析介绍
        • 【2】部署AWStats
          • (1)安装AWStats软件包
          • (2)为要统计的站点建立配置文件
          • (3)开启模块控制,添加控制语段
          • (4)修改AWStats站点统计配置文件
          • (5)测试及优化
          • (6)访问网址的优化

一、Apache连接和访问控制

1、Apache连接

Apache通过设置配置文件或者虚拟主机配置文件中相关的连接保持参数来开启与控制连接保持功能,如TCP的三次握手和四次挥手过程。

【1】KeepAlive

决定是否打开连接保持功能,后面接on表示开启,接off表示关闭。可以根据网站的并发请求量决定是否打开,即在高并发时打开连接保持功能。

【2】KeepAlive Timeout

表示一次连接多次请求之间的最大时间间隔,超过间隔时间就会断开,从而避免客户端占用连接资源。

【3】MaxKeepAliveTimeout

表示一次长连接能够传输最大请求数量。

【4】部署keepalive优化连接
[root@promote ~]# yum install -y httpd
[root@promote ~]# vim /etc/httpd/conf/httpd.conf
KeepAlive on
#KeepAlive off
KeepAliveTimeout 600
[root@promote ~]# systemctl restart httpd.service

2、Apache的访问控制

为了控制网站的资源访问,可以为特定的网站目录添加访问授权

【1】客户机地址的限制

使用Require配置项实现访问控制,按先后顺序限制,可用于、、、配置段中。Require配置项中常见的语法:

Require all granted
Require all denied
Require local
Require [not] host <主机名或者域名列表>
Require [not] ip <IP地址或网段列表>

配置举例:

[root@promote ~]# vim /etc/httpd/conf/httpd.conf
<Directory />AllowOverride none<RequireAll>Require not ip 192.168.60.0/24Require all denied</RequireAll>
</Directory>
[root@promote ~]# systemctl restart httpd.service

注意:使用not禁止访问时要将其置于容器中指定相应的限制策略。

【2】用户授权限制
(1)创建用户认证数据库htpasswd
[root@promote ~]# which htpasswd
/usr/bin/htpasswd
[root@promote ~]#  htpasswd -c /etc/httpd/conf/pwd tom
New password: (添加访问密码)
Re-type new password:
Adding password for user tom
[root@promote ~]# cd /etc/httpd/conf/
[root@promote conf]# ls
httpd.conf  magic  pwd
(2)添加用户授权配置
[root@promote ~]# vim /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/html/"
<Directory "/var/www/html">
#名称AuthName "DocumentRoot"
#基本验证AuthType basic
#验证密码存放路径AuthUserFile /etc/httpd/conf/pwd
#允许身份验证Require valid-user
</Directory>
(3) 访问验证


设置之后需要输入访问的用户和密码进行访问

二、Apache日志管理

1、日志分割

【1】分割原因
随着网站的访问量增加,默认情况下Apache单个日志文件也会越来越大----日志文件占用的磁盘空间大,查看相关信息不方便,所以要对日志文件进行分割,只要使用的工具是Apache自带的rotatelogs和第三方工具cronlog。
【2】部署日志分割
(1)rotatelogs分割
在实际的环境中,一个服务器绝大多数对应N个子域名站点,为了方便统一管理,可以用虚拟主机的方式进行配置,并使用网站名表示日志文件。
在http配置文件中修改两行配置文件即可实现rotatelogs分割

ServerName www.test.com:80
Listen 192.168.60.60:80
ErrorLog "| /usr/sbin/rotatelogs -l logs/www.test.com.error_%Y%m%d.log 86400"
CustomLog "| /usr/sbin/rotatelogs -l logs/www.test.com.access_%Y%m%d.log 86400" combined

进入该目录查看日志

[root@localhost httpd]# ls -l /var/log/httpd/
总用量 16
-rw-r--r--. 1 root root 11484 8月   5 19:24 www.test.com.access_20200805.log
-rw-r--r--. 1 root root   632 8月   5 19:26 www.test.com.error_20200805.log

(2)cronlog分割
cronolog是分割网站日志文件的工具,配置格式:

ErrorLog "| cronolog命令的绝对路径 日志文件的路径/网站名-error_%Y%m%d.log"
CustomLog "| cronolog命令的绝对路径 日志文件的路径/网站名-access_%Y%m%d.log" combined

部署安装步骤:
【1】上传安装

[root@localhost opt]# rz -E
rz waiting to receive.
[root@localhost opt]# ls
awstats-7.6.tar.gz  cronolog-1.6.2-14.el7.x86_64.rpm
[root@localhost opt]# rpm -ivh cronolog-1.6.2-14.el7.x86_64.rpm
警告:cronolog-1.6.2-14.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID 352c64e5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...1:cronolog-1.6.2-14.el7            ################################# [100%]
[root@localhost opt]# which cronolog
/usr/sbin/cronolog

【2】修改配置文件

[root@localhost opt]# cd /etc/httpd/conf
[root@localhost conf]# ls
httpd.conf  magic
[root@localhost conf]# vim httpd.conf
ServerName www.test.com:80
Listen 192.168.60.10:80
ErrorLog "| /usr/sbin/cronolog logs/www.test.com.error_%Y%m%d.log"
CustomLog "| /usr/sbin/cronolog logs/www.test.com.access_%Y%m%d.log" combined
[root@localhost conf]# systemctl start httpd.service
[root@localhost conf]# cd /var/log/httpd/
[root@localhost httpd]# ls
www.test.com.access_20200806.log  www.test.com.error_20200806.log

2、AWStats日志分析

【1】AWStats日志分析介绍

AWStats是一款由Perl语言开发的开源日志分析系统,可用来分析Apache、Samba、vsftpd、IIS等服务器的访问日志,结合crond等计划任务服务,可对日志内容定期进行分析。

【2】部署AWStats
(1)安装AWStats软件包
[root@localhost opt]# tar zxvf awstats-7.6
[root@localhost opt]# ls
awstats-7.6  awstats-7.6.tar.gz
[root@localhost opt]# mv awstats-7.6 /usr/local/awstats
(2)为要统计的站点建立配置文件
[root@localhost opt]# cd /usr/local/awstats/
[root@localhost awstats]# ls
docs  README.md  tools  wwwroot
[root@localhost awstats]# cd tools/
[root@localhost tools]# ./awstats_configure.pl
............................................................
Config file path ('none' to skip web server setup):
> /etc/httpd/conf/httpd.conf
............................................................
Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ? y
...............................................................
Your web site, virtual server or profile name:
> www.test.com
...............................................................
#一直回车到完成
You can also read your statistics for 'www.test.com' with URL:
> http://localhost/awstats/awstats.pl?config=www.test.com
(3)开启模块控制,添加控制语段
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf

查看http配置文件再末行会自动添加下面内容

(4)修改AWStats站点统计配置文件
[root@localhost awstats]# cd /var/log/httpd/
[root@localhost httpd]# ls
www.test.com.access_20200806.log  www.test.com.error_20200806.log
[root@localhost ~]#cd /etc/awstats
[root@localhost awstats]# vim awstats.www.test.com.conf
DirData="/var/lib/awstats"
LogFile="/var/log/httpd/www.test.com.access_20200806.log"
[root@localhost awstats]# cd /var/lib/
[root@localhost lib]# mkdir awstats
[root@localhost lib]# systemctl restart httpd
(5)测试及优化


再次刷新页面模拟访问

但问题是AWStats没有自动统计

分析:是没有刷新AWStats系统,所以没有显示

[root@localhost awstats]# cd /usr/local/awstats/tools/
[root@localhost tools]# ./awstats_updateall.pl now

解决并优化:

为了让系统实现自动的优化,所以我们使用crontab任务计划,让它买几分钟执行刷新脚本

/usr/local/awstats/tools/awstats_updateall.pl now
[root@localhost tools]# crontab -e
*/1 * * * * /usr/local/awstats/tools/awstats_updateall.pl now

这样就能实现自动更新

(6)访问网址的优化

实现这个功能需要使用dns服务功能。

[root@localhost ~]# cd /var/www/html/
[root@localhost html]# vim aws.html
<html>
<head>
<meta http-equiv=refresh content="0;url=http://www.test.com/awstats/awstats.pl?config=www.test.com">
</head>
<body></body>
</html>
[root@localhost html]# systemctl restart httpd.service

Apache的配置与应用【Apache访问控制】以及apache日志管理【日志分割、awstats日志分析】相关推荐

  1. Apache配置应用与日志管理__GongWei1997

    Apache配置与应用 Apache连接保持 Apache连接保持相关参数 配置访问控制 客户机地址限制 用户授权限制 Apache日志管理 日志分割 Apache自带rotatelogs分割工具实现 ...

  2. 显示并解析动态服务器值,Apache服务器安装配置

    Apache服务器安装 1.Apache服务器安装 在Linux系统下,apache服务器的安装方式比较灵活,可以使用二进制包安装,比如:rpm包.deb包.已编译好的包.也可以简单的使用yum工具进 ...

  3. Web服务器群集——部署AWStats基于Apache的日志管理

    部署AWStats基于Apache的日志管理 日志分割 AWStats日志分析系统介绍 部署AWStats 安装Apache服务 安装AWStats软件包 为要统计的站点建立配置文件 修改站点统计配置 ...

  4. Spring Boot 2.x的默认日志管理与Logback配置详解

    前沿技术早知道,弯道超车有希望 积累超车资本,从关注DD开始 Spring Boot在所有内部日志中使用Commons Logging,但是对底层日志的实现是开放的.在Spring Boot生态中,为 ...

  5. Apache的配置详解

    ServerRoot 配置 ServerRoot "" 主要用于指定Apache的安装路径,此选项参数值在安装Apache时系统会自动把Apache的路径写入.Windows安装时 ...

  6. Apache常见配置及问题

    1.Apache的配置由httpd.conf文件配置修改. 主站点的配置(基本配置) (1) 基本配置: ServerRoot "/mnt/software/apache2" #你 ...

  7. Linux下apache性能配置调优

    Apache 性能配置优化 ###httpd 相关查看命令了解 查看当前安装模块mpm(多路处理器) [root@localhost ~]# httpd -l 查看httpd进程数(即各个mpm模式下 ...

  8. CentOS 7 源码安装 apache 及配置

    CentOS 7 源码安装 apache 及调试 作者:闫涛 E-mail:coderyantao@qq.com 备注:实验环境为selinux关闭.firewalld已关闭.生产环境不得关闭fire ...

  9. Apache 的配置与应用

    一.构建虚拟 Web 主机虚拟 Web主机指的是在同一台服务器中运行多个Web站点,其中每一个站点实际上并不独立占用整个服务器,因此被称为"虚拟"Web 主机.通过虚拟 Web 主 ...

最新文章

  1. [存储过程]中的事务(rollback)回滚
  2. JdbcTemplate中的query方法(代码)
  3. Android开发-下载网络图片并显示到本地
  4. leetcode 79. Word Search | 79. 单词搜索(回溯+DFS)
  5. 搜索引擎索引之如何建立索引
  6. [算法][算法复杂度]常用算法复杂度速查表
  7. c语言程序设计主编张玉生教材答案,清华大学出版社-图书详情-《Visual Basic程序设计实验指导》...
  8. 计算机辅助设计的概念.doc,计算机辅助设计的基础知识.DOC
  9. 清新浪漫风情人节海报PSD分层模板!
  10. android之sqlite增、删、改,查
  11. arm汇编—str,mov等指令
  12. 程序员联合开发网 程序员创业指导书
  13. 计算机管理无法格式化硬盘,sd无法格式化怎么解决_电脑无法格式化sd卡怎么办-win7之家...
  14. U盘加密软件测试自学,TrueCrypt加密软件的相关技巧与问题
  15. APS车间排产软件实现企业生产数据可视化
  16. PlantUML 之时序图
  17. vscode自动格式化python代码符合pep8
  18. ping回显请求超时time out故障解决过程
  19. Java中在指定范围内生成整型、长整型、双精度随机数流
  20. c莫比乌斯函数_数论——容斥原理、莫比乌斯函数

热门文章

  1. Nagios Core 复现
  2. 消除Mac Word文档生成目录中的灰色底纹
  3. 用K-Means算法处理wine数据集和wine_quality数据集
  4. 成都计算机系统维护专业中专,成都计算机应用专业中专招生简章
  5. 使用 PyTorch 检测眼部疾病
  6. Redis实战 - 11 Redis GEO 实现附近的人功能
  7. win10共享打印机链接失败错误代码0x0000011b
  8. FPGA技术——FPGA的灵魂(FSM)你悟了吗?
  9. python parameter参数
  10. 箱形图 python_Python-箱形图