优秀手机网站案例,保定高端模板建站,wordpress文章分页标题,seo推广特点目录
保持连接
访问控制
只允许指定ip访问
拒绝指定主机其他正常访问
用户授权
日志格式
日志分割
操作步骤
使用第三方工具cronolog分割日志
AWStats日志分析
操作步骤
访问AwStats分析系统 保持连接
Apache通过设置配置文件httpd-default.conf中相关的连接保持参…目录
保持连接
访问控制
只允许指定ip访问
拒绝指定主机其他正常访问
用户授权
日志格式
日志分割
操作步骤
使用第三方工具cronolog分割日志
AWStats日志分析
操作步骤
访问AwStats分析系统 保持连接
Apache通过设置配置文件httpd-default.conf中相关的连接保持参数来开启与控制连接保持功能。
使用vim /usr/local/httpd/conf/extra/httpd-default.conf命令打开apache的默认配置文件
注意在httpd的主配置文件中将httpd-default.conf 的in clude前的注释符去掉让主配置文件包含该配置文件 参数 说明 KeepAlive 保持连接功能OFF表示关闭ON表示打开可以根据网站的并发请求量决定是否打开即在高并发时打开连接保持功能并发量不高时关闭此功能。 MaxKeepAliveRequests 用于设置在一次长连接中可以传输的最大请求数量超过此最大请求数量就会断开连接最大值的设置决定于网站中网页的内容一般设置数量会多于网站中所有的元素。 KeepAliveTimeout 表示一次连接多次请求之间的最大间隔时间即两次请求之间超过该时间连接就会自动断开从而避免客户端占用连接资源。
开启httpd服务后在访问http服务时在网页中按下F12打开开发人员工具在选中网络窗口使用Ctrl R刷新网页
选中主机ip可以看到标头下的响应标头的信息显示Keep-Alive已经开启相关参数是timeout5, max97 现在来到默认配置文件/usr/local/httpd/conf/extra/httpd-default.conf中修改超时时间和最大连接数 保存并退出使用systemctl restart httpd重启服务
此时来到浏览器刷新可以看到最大连接数为90 访问控制
使用vim /usr/local/httpd/conf/httpd.conf命令进入httpd主配置文件
在末行模式下搜索Directory:/Directory可以找到单元这个单元就规定了允许或拒绝用户访问哪些目录访问权限
Directory /usr/local/httpd/htdocs# 省略注释Options Indexes FollowSymLinksAllowOverride NoneRequire ip 192.168.10.102 # 修改为ip地址
# Require ip 192.168.10.0/24 规定为网段也可以
/Directory
图中的Require all denied规定了用户全都不能访问系统的根目录
往下翻一点可以看到另一个Directory单元这个单元中就规定了用户可以访问/usr/local/httpd/htdocs目录
只允许指定ip访问
Directory /usr/local/httpd/htdocs# 省略注释Options Indexes FollowSymLinksAllowOverride NoneRequire ip 192.168.10.102 # 修改为ip地址
# Require ip 192.168.10.0/24 规定为网段也可以
/Directory
修改后需要重启服务
然后打开一台带有图形化界面的虚拟机比如win10或win11或者使用第二台Linux主机通过curl命令也可以
将其ip修改为192.168.10.102访问Web服务器192.168.10.101可以看到访问是通过的 使用宿主机访问也不能正常访问了403状态码 拒绝指定主机其他正常访问
Directory /usr/local/httpd/htdocs# 省略注释Options Indexes FollowSymLinksAllowOverride NoneRequireAllRequire all granted # 允许所有主机访问Require not ip 192.168.10.102 # 拒绝192.168.10.102访问/RequireAll
/Directory
此时除了刚刚开启的102主机其他的都可以正常访问Web服务器
用户授权
验证授权的方式变成账号密码需要用到Apache自带的htpasswd工具生成
使用htpasswd命令生成文件第一次创建需要加-c选项后续就不需要加-c了 通过cat命令可以查看到生存的用户和密钥
[rootlocalhost ~]# cat /usr/local/httpd/conf/.example
tom:$apr1$9E2tS/4/$28pw.i5heCsVXYY9TA7Og/
jerry:$apr1$dQtbTAQw$w3QYXr8E62MzoYnNbUEiC1
再修改配置文件/usr/local/httpd/conf/httpd.conf
Directory /usr/local/httpd/htdocs# 省略注释Options Indexes FollowSymLinksAllowOverride NoneAuthName abc # 指定授权域的名称或描述AuthType Basic # 指定了认证的类型为 Basic即基本认证方式。AuthUserFile /usr/local/httpd/conf/.example # 指定了存储用户账号和密码的文件的路径Require valid-user # 要求访问受保护资源的用户必须提供有效的用户名和密码。
/Directory Basic指定了认证的类型为 Basic即基本认证方式。Basic Authentication 是一种简单的认证方式客户端通常是浏览器会将用户名和密码以明文形式通过 HTTP 的 Authorization 头部发送给服务器。 最后在访问Web服务器时就会被要求输入账号和密码 日志格式
打开Apache的主配置文件/usr/local/httpd/conf/httpd.conf在末行模式下搜索Log:/Log
可以看到httpd提供的两种日志格式第一种是combined组合格式第二种是common通用格式 在下方可以看到access_log访问日志用的是通用格式来生成日志的这里我们改成组合格式 改为组合模式 保存并退出重启httpd服务再次访问Web服务器。然后cat查看/usr/local/httpd/logs/access_log文件
可以看到最后一行的组合日志格式生成的日志
192.168.10.1 - - [10/Jul/2024:10:19:23 0800] GET / HTTP/1.1 200 154 - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0 参数 说明 h 客户端的IP地址或主机名 %l 客户端的标识符如果启用了标识符如通过 IdentLookups 配置否则为 - %u 请求时客户端提供的用户名如果是用户认证登录就显示为用户否则显示 - %t 请求的时间戳 \%r\ 客户端请求的第一行包括 HTTP 方法、请求路径和协议 这里的 \ 是转义符 %s 服务器返回给客户端的HTTP状态码 %b 传输给客户端的字节数不包括HTTP头部的大小 \%{Referer}i\ 请求报文中首部 referer 的值即从哪个页面中的超链接跳转至当前页面的防止盗链i就是首部的意思Referer是链接到此URL的页面。 i是首部的意思即请求头 \%{User-Agent}i\ 此项是客户端提供的浏览器识别信息i是首部的意思即请求头 I 服务器接收得字节数需要启用mod_logio模块。 %O 服务器发送得字节数需要启用mod_logio模块。 日志分割
日志分割需要使用Apache自带的日志分割工具rotatelogs
操作步骤
依旧打开httpd主配置文件
将刚才修改日志格式的行注释掉使用CustomLog指定日志记录的方式
#CustomLog logs/access_log combined
CustomLog |/usr/local/bin/rotatelogs -l /var/log/httpd/access_%Y%m%d.log 86400 combined 参数 说明 | 将生成的日志数据传递给一个外部程序进行处理或存储 /usr/local/bin/rotatelogs 指定日志分割工具的路径 -l /var/log/httpd/access_%Y%m%d.log 指定了日志文件的格式和存储位置 -l用于指定日志文件的命名模式和路径 %Y%m%d 表示将日期格式化为年四位数、月、日例如 access_20240710.log 86400 日志文件的滚动时间间隔单位是秒。这里代表一天的秒数即每隔一天就会生成一个新的日志文件。
保存并退出重启服务。手动在指定的/var/log下创建httpd目录
再通过浏览器访问Web服务器然后去/var/log/httpd/下查看access_20240710.log文件
[rootlocalhost httpd]# cat access_20240710.log
192.168.10.1 - - [10/Jul/2024:10:40:07 0800] GET / HTTP/1.1 304 - - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0
192.168.10.1 - - [10/Jul/2024:10:40:07 0800] GET / HTTP/1.1 304 - - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0
192.168.10.1 - - [10/Jul/2024:10:40:08 0800] GET / HTTP/1.1 304 - - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0使用第三方工具cronolog分割日志
将源代码软件包拖入XShell使用tar zxvf命令解压进入解压目录
使用 ./configuremake make instll 安装
进入/usr/local/sbin/目录下可以看到自动将命令安装进sbin目录下了
[rootlocalhost cronolog-1.6.2]# cd /usr/local/sbin/
[rootlocalhost sbin]# ls
cronolog cronosplit
进入httpd主配置文件修改日志记录方式
#CustomLog logs/access_log combined
CustomLog |/usr/local/sbin/cronolog /var/log/httpd/my_access_%Y%m%d.log combined
保存并退出重启服务。
再通过浏览器访问Web服务器然后去/var/log/httpd/下查看my_access_20240710.log文件
[rootlocalhost httpd]# cat my_access_20240710.log
192.168.10.1 - - [10/Jul/2024:10:48:30 0800] GET / HTTP/1.1 304 - - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0
实验完成后把日志记录方式改为原来的用于下一步日志分析的实验
CustomLog logs/access_log combined
#CustomLog |/usr/local/sbin/cronolog /var/log/httpd/my_access_%Y%m%d.log combined AWStats日志分析
Awstats是一个免费非常简洁而且强大有个性的网站日志分析工具。
操作步骤
将源代码软件包拖入XShell使用tar zxvf命令解压然后使用mv awstats-7.7 /usr/local/awstats命令将解压出的目录移动到/usr/local/下并将目录名重命名为awstats
cd到/usr/local/awstats目录下再进入tools子目录可以看到这里存放着工具集
[rootlocalhost ~]# cd /usr/local/awstats/
[rootlocalhost awstats]# ls
docs README.md tools wwwroot
[rootlocalhost awstats]# cd tools/
[rootlocalhost tools]# ls
awstats_buildstaticpages.pl dolibarr maillogconvert.pl xslt
awstats_configure.pl geoip_generator.pl nginx
awstats_exportlib.pl httpd_conf urlaliasbuilder.pl
awstats_updateall.pl logresolvemerge.pl webmin
在该目录下使用awstats_configure.pl初始化
[rootlocalhost tools]# ./awstats_configure.plEnter full config file path of your Web server.
Example: /etc/httpd/httpd.conf # 使用yum安装的位置
Example: /usr/local/apache2/conf/httpd.conf # 使用源代码可能安装的位置
Example: c:\Program files\apache group\apache\conf\httpd.conf # Windows系统下可能安装apache的安装路径
Config file path (none to skip web server setup):/usr/local/httpd/conf/httpd.conf # 填入Apache的配置文件路径回车----- Need to create a new config file ? # 是否需要创建一个新的配置文件
Do you want me to build a new AWStats config/profile # 是否希望它创建一个新的AWStats配置文件或配置文件模板
file (required if first install) [y/N] ? y----- Define config file name to create # 要求定义要创建的配置文件的名称
What is the name of your web site or profile analysis ?
Example: www.mysite.com
Example: demo
Your web site, virtual server or profile name:www.tom.com # 输入想命名的AWStats配置文件的名称----- Define config file path # 设置配置文件的路径
In which directory do you plan to store your config file(s) ?
Default: /etc/awstats
Directory path to store config file(s) (Enter for default):# 这里使用默认路径 所以直接回车Press ENTER to continue...
# 回车以继续
Press ENTER to finish...
# 回车以结束
修改httpd配置文件在命令模式下按下大写字母G来到文件末尾修改Directory标签为允许全部客户端访问该目录下的文件和脚本
[rootlocalhost ~]# vim /usr/local/httpd/conf/httpd.conf
Directory /usr/local/awstats/wwwrootOptions NoneAllowOverride NoneRequire all granted
/Directory
编辑awstats初始化后生成的配置文件然后创建存储AWStats数据的目录
[rootlocalhost tools]# vim /etc/awstats/awstats.www.tom.com.conf
在第50行改为httpd路径位置
Logile/usr/local/httpd/logs/access_log
在第220行改为如下内容
DirData/var/lib/awstats # 指定了AWStats存储数据文件的目录路径
[rootlocalhost awstats]# mkdir /var/lib/awstats
编辑当前用户的 cron 任务
[rootlocalhost tools]# crontab -e
*/2 * * * * /usr/local/awstats/tools/awstats_updateall.pl now*/2表示每隔2分钟执行一次后面的命令
*通配符表示所有可能的值
/usr/local/awstats/tools/awstats_updateall.pl now是要执行的命令或者脚本
再修改httpd配置文件在命令模式下按下大写G来到文件末尾在文件末尾添加IfModule标签加载不同模块最后重启服务
[rootlocalhost ~]# vim /usr/local/httpd/conf/httpd.conf
IfModule !mpm_prefork_moduleLoadModule cgid_module modules/mod_cgid.so
/IfModule
IfModule mpm_prefork_moduleLoadModule cgi_module modules/mod_cgi.so
/IfModule重启服务
[rootlocalhost tools]# systemctl restart httpd访问AwStats分析系统
在浏览器访问站点http://192.168.10.101/awstats/awstats.pl?configwww.tom.com