C/C++教程

Apache 虚拟目录,用户授权限制,日志分割与AWS分析系统

本文主要是介绍Apache 虚拟目录,用户授权限制,日志分割与AWS分析系统,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

一:Apache 的连接保持(长链接)

 #Apache 的连接保持配置在 /usr/lcoal/httpd/conf/extra/httpd-default.conf 配置文件中
 # 使用yum 安装的apache服务在主配置文件 /etc/httpd/conf/httpd.conf中
 vim /usr/local/httpd/conf/extra/httpd-default.conf 
 Timeout 60
 #两个TCP 包之间的超时时间,超过这个时间,则断开连接
 ​
 KeepAlive On   
 #打开连接保持功能。ON 表示打开,OFF 表示关闭,一般在高并发的时候打开
 ​
 MaxKeepAliveRequests 100  
 #一次长链接中可以传输的最大请求数量,超过则会断开。一般设置数量会多过网站中的所有元素
 ​
 KeepAliveTimeout 5  
 #设置来自同一个客户端,一次连接多次请求之间的最大间隔时间,即,两次请求之间超过该值,会自动断开连接,以免客户端占用连接资源

 

 ​

 

二:构建 web 虚拟目录

当我们网站根目录设置为 /usr/local/httpd/htdocs/ 时,访问 http://192.168.23.13/test 网页,应该是访问 网站根目录下的 test 目录里的网页文件。

但是,当我们设置了虚拟目录,设置了test 目录的别名是 /var/www/html 时,访问 http://192.168.23.13/test 网页, 访问的就是 /var/www/html/ 目录下的网页文件

image-20210811093814322

 

2.1 在 /var/www/html 下写下首页文件

 mkdir -p /var/www/html/
 echo "<h1>this is alias web<h1>" > /var/www/html/index.html

 

 

2.2 在配置文件中设置web 虚拟目录

 vim /usr/local/httpd/conf/httpd.conf  #在文件末尾添加
 Alias /test /var/www/html/    #设置当访问test 目录时改为访问 /var/www/html/ 目录下文件
 ​
 ​
 systemctl restart httpd
 firefox http://192.168.23.13/test

 

 ​

image-20210811092627676

 

三:用户授权限制

3.1 创建用户认证数据文件

  cd /usr/local/httpd/bin/
  ./htpasswd  -c /usr/local/httpd/userlist  zhangsan   
  #第一次创建要加 -c 生成用户数据文件, 创建的用户是用来认证的,而不是系统用户
  # 用户数据文件位置 可以自定义,但是 最好放在httpd 的工作目录中
 ​
 ./htpasswd  /usr/local/httpd/userlist  lisi  
 #第二次就不用 加上 -c
 ​
 cat /usr/local/httpd/userlist

 

image-20210811085416966

image-20210811085642606

 

3.2 添加用户授权配置

 vim    /usr/local/httpd/conf/httpd.conf  #在配置文件末尾添加
 <Directory />     #设置站点根目录
     AuthName "Hello"    #设置认证对话框显示
     AuthType Basic      #认证类型为 基本认证
     AuthUserFile /usr/local/httpd/userlist    #设置用户数据认证文件位置
     Require valid-user  #仅允许认证文件中的用户访问
 </Directory>
 ​
 systemctl restart httpd
 ​
 firefox http://192.168.23.13

 

 ​

image-20210811091442608

image-20210811091450316

 

 四 :日志分割

Apache 自带 rotatelogs 分割工具 ,将 Apache 的日志进行按每天的日期自动分割

 vim /usr/local/httpd/conf/httpd.conf
 ErrorLog "| /usr/local/bin/rotatelogs -l /var/log/httpd/error_%F.log 86400"
 ​
 CustomLog "| /usr/local/bin/rotatelogs -l /var/log/httpd/access_%F.log 86400" combined
 ​
 #开头为 | 管道符号
 #-l  选项表示使用本地时间为时间基准
 #86400 表示一天,即每天生成一个新的日志文件
 ​
 mkdir /var/log/httpd
 systemctl restart httpd   
  
 curl http://192.168.23.13
 curl http://192.168.23.13/xxx
 ​
 ls /var/log/httpd
 #在 /var/log/httpd 目录下 生成了 当天的成功访问日志 和 失败访问日志

 

 ​

image-20210811100109549

 

五 AWStats 分析系统

AWSstats 是使用perl 语言开发的一款开源日志分析系统,它用来完成自动化的日志分析工作

5.1 将软件包传到/opt 目录下

awstats -7.6.tar.gz

 

5.2 安装AWStats 软件

 cd /opt
 tar zxvf awstats-7.6.tar.gz 
 mv /opt/awstats-7.6 /usr/local/awstats

 

 

5.3 为要统计的站点建立配置文件

 cd /usr/local/awstats/tools
 ./awstats_configure.pl
 ......
 Config file path ('none' to skip web server setup):
 > /usr/local/httpd/conf/httpd.conf
 ......
 Your web site, virtual server or profile name:
 > www.mynet.com
 ​
 #其他都是y或者回车

 

 

image-20210811105026802

image-20210811105143173

 

5.4修改自动生成的awstats 访问权限,加载CGI模块(Apache 2.4 以上版本需要加载CGI模块)

 vim /usr/local/httpd/conf/httpd.conf
 ErrorLog "logs/error_log"
 CustomLog "logs/access_log" combined
 ​
 <IfModule !mpm_prefork_module>
         LoadModule cgid_module modules/mod_cgid.so   #打开注释,大致在142行
 </IfModule>
 <IfModule mpm_prefork_module>                       
         LoadModule cgi_module modules/mod_cgi.so       #打开注释,大致在145行
 </IfModule>
 ​
 #跳转到文件莫问
 <Directory "/usr/local/awstats/wwwroot">
     Options None
     AllowOverride None
     #Order allow,deny    #加上注释
     #Allow from all      #加上注释
     Require all granted   #添加此行
 </Directory>
 ​
 

5.5 修改站点统计配置文件

 vim /etc/awstats/awstats.www.mynet.com.conf 
 LogFile="/usr/local/httpd/logs/access_log"  #修改访问日志文件位置(由于日志格式问题,不能设置虚拟主机的日志
 DirData="/var/lib/awstats"   #目录默认不存在,需要手动创建
 ​
 ​
 mkdir /var/lib/awstats

 

 ​

5.6 执行日志分析,并设置crom 计划任务

  systemctl restart httpd
  cd /usr/local/awstats/tools/
  ./awstats_updateall.pl now    #更新数据(根据站点配置文件指定的日志文件路径获取日志数据
  
 ​
 crontab  -e 
 */5 * * * * /usr/local/awstats/tools/awstats_updateall.pl now
 ​
 systemctl restart crond
 

 

5.7 访问AWStats 分析系统站点

 systemctl stop firewalld
 systemctl disable  firewalld
 setenforce 0
 ​
 echo "192.168.23.13 www.mynet.com" >> /etc/hosts
 ​
 firefox http://www.mynet.com/awstats/awstats.pl?config=www.mynet.com

 

image-20210811111212346

 

5. 8优化网页地址

 vim /usr/local/httpd/htdocs/aws.html
 <html>
 <head>
 <meta http-equiv=refresh content="0;url=http://www.mynet.com/awstats/awstats.pl?config=www.mynet.com">
 </head>
 <body></body>
 </html>
 ​
 ​
 firefox http://www.mynet.com/aws.html   #访问这个网站,自动跳转
 

 

这篇关于Apache 虚拟目录,用户授权限制,日志分割与AWS分析系统的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!