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/ 目录下的网页文件
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
三:用户授权限制
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
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
四 :日志分割
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 目录下 生成了 当天的成功访问日志 和 失败访问日志
五 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或者回车
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
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 #访问这个网站,自动跳转
标签:httpd,虚拟目录,awstats,AWS,var,usr,conf,Apache,local 来源: https://www.cnblogs.com/zhijiyiyu/p/15142511.html