Apache配置!设置连接保持、访问控制及日志分割

Apache 连接保持概述具体办法Apache用户访问控制1.客户机地址限制1.1概述1.2 具体配置2.用户授权登录2.1概述2.2具体操作Apache日志分割进行日志分割的原因具体操作1.使用Apache自有的日志分割工具2.使用第三方工具cronolog分割Awstats分析系统概述具体操作1.安装 AWStats 软件包2.为要统计的站点建立配置文件3.修改站点统计配置文件4.访问测试

Apache 连接保持
概述

HTTP 是属于应用层的面向对象协议,基于 TCP 协议之上的可靠传输。每次在进行 HTTP 连接之前,需要先进行 TCP 连接,在 HTTP 连接结束后要对 TCP 连接进行终止,每 个 TCP 连接都需要进行三次握手与四次断开。HTTP 协议不会对之前发生过的请求和响应 进行管理,所以频繁地建立与关闭连接对于 HTTP 而言会消耗更多的内存与 CPU 资源。能 不能允许通过同一个 TCP 连接发出多个请求,从而减少与多个连接相关的延迟,解决办法 就是连接保持

具体办法

Apache通过设置配置文件httpd-default.conf中相关的连接保持参数来开启与控制连接 保持功能。

KeepAlive:决定是否打开连接保持功能,后面接 OFF 表示关闭,接 ON 表示打开,可 以根据网站的并发请求量决定是否打开,即在高并发时打开连接保持功能,并发量不高 时关闭此功能。
KeepAliveTimeout:表示一次连接多次请求之间的最大间隔时间,即两次请求之间超 过该时间连接就会自动断开,从而避免客户端占用连接资源。
MaxKeepAliveRequests:用于设置在一次长连接中可以传输的最大请求数量,超过此 最大请求数量就会断开连接,最大值的设置决定于网站中网页的内容,一般设置数量会 多于网站中所有的元素。

[root@localhost html]# vi /usr/local/httpd/conf/httpd.conf
……省略部分
include conf/extra/httpd-default.conf //去掉前面的注释,开启功能
……省略部分

###配置连接保持###

vi/usr/local/httpd/conf/extra/httpd-default.conf
KeepAlive On //保持连接开启(默认开启)
MaxKeepAliveRequests 200 //一次连接最多请求200个文件(默认100个)
KeepAliveTimeout 10 //无响应超时踢下线时间设置10秒(默认5秒)

Apache用户访问控制
1.客户机地址限制
1.1概述

通过 Require 配置项,可以根据客户端的主机名或 IP 地址来决定是否允许客户端访问。
在 httpd 服务主配置文件的、、、配置段中均可以使
用 Require 配置项来控制客户端的访问。使用 Require 配置项时,需要设置客户端地址以构
成完整的限制策略,地址形式可以是 IP 地址、网络地址、主机名或域名。当 Require 配置
项之后为“all”时,表示匹配任意地址。

1.2 具体配置

Require all granted:允许所有主机访问;
Require all denied:拒绝所有主机访问;
Require local:仅允许本地主机访问;
Require [not] host <主机名或域名列表>:允许或拒绝指定主机或域名访问;
Require [not] ip <IP 地址或网段列表>:允许或拒绝指定 IP 地址网络访问。

[root@localhost ~]# vi /usr/local/httpd/conf/httpd.conf
<Directory "/usr/local/httpd/htdocs">
……省略部分
Require ip 192.168.2.0/24 //默认为:Require all granted全部允许访问,将其修改,只允许192.168.2.0网段访问
</Directory>

当需要使用“仅拒绝”的限制策略时,灵活使用Require与 Require not配置语句设置拒绝访问策略,仅禁止一部分主机访问。在使用not禁止访问时要将其置于……容器中,并在容器中设置相应的限制策略。

[root@localhost ~]# vi /usr/local/httpd/conf/httpd.conf
<Directory "/usr/local/httpd/htdocs">
……省略部分
<RequireAll>
Require all granted
Require not ip 192.168.2.0/24 192.168.1.0/24
</RequireAll>
</Directory>

2.用户授权登录
2.1概述

httpd 服务器支持使用摘要认证(Digest)和基本认证(Basic)两种方式。使用摘要认 证需要在编译 httpd 之前添加“–enable-auth-digest”选项,但并不是所有的浏览器都支持摘要认证(Digest);而基本认证(Basic)是 httpd 服务的基本功能,不需要预先配置特别的选项。
httpd的基本认证通过校验用户名、密码组合来判断是否允许用户访问。授权访问的用户账号需要事先建立,并保存在固定的数据文件中。使用专门的htpasswd工具程序,可以创建授权用户数据文件,并维护其中的用户账号。

2.2具体操作

使用htpasswd工具时,必须指定用户数据文件的位置,添加“-c”选项表示新建立此文
件。例如,执行以下操作可以新建数据文件/usr/local/httpd/conf/.awspwd,其中包含一个名
为webadmin的用户信息

[root@localhost conf]# /usr/local/httpd/bin/htpasswd -c /usr/local/httpd/conf/.awspwd weixin
//-c创建文件,为Apache用户weixin设置登入验证密码
New password: //在此输入密码
Re-type new password:
Adding password for user weixin
[root@localhost conf]# /usr/local/httpd/bin/htpasswd /usr/local/httpd/conf/.awspwd weixin1
//上面已经创建了文件,所有这里不用-c了
New password: //在此输入密码
Re-type new password:
Adding password for user weixin1
[root@localhost conf]# cat /usr/local/httpd/conf/.awspwd //查看用户数据文件
weixin:$apr1$f9ASKCFP$bR1a5zuq0DS0Z4dxQCrhq0
weixin1:$aadr1$f9DHCFP$bSHJGDuq0DS0Z4dxQCrh
[root@localhost opt]# vi /usr/local/httpd/conf/extra/httpd-vhosts.conf //配置访问验证(这里就用虚拟web主机做配置了)注意:要开启主配置文件中虚拟主机模块
<VirtualHost 20.0.0.11:80>
DocumentRoot "/opt/www/html/51xit.top"
ServerName www.51xit.top
ErrorLog "logs/www.51xit.top.error_log"
CustomLog "logs/www.51xit.top.access_log" common
<Directory "/opt/www/html">
####在访问控制模块配置以下内容
AuthName "DocumentRoot"
AuthType Basic
AuthUserFile /usr/local/httpd/conf/.awspwd
Require valid-user
###############################
</Directory>
</VirtualHost>

在上述配置内容中,相关配置项的含义如下。

AuthName:定义受保护的领域名称,该内容将在浏览器弹出的认证对话框中显示。
AuthType:设置认证的类型,Basic 表示基本认证。
AuthUserFile:设置用于保存用户账号、密码的认证文件路径。
require valid-user:要求只有认证文件中的合法用户才能访问。其中,valid-user 表示 所有合法用户,若只授权给单个用户,可改为指定的用户名(如 webadmin)

访问测试
Apache配置!设置连接保持、访问控制及日志分割

Apache日志分割
进行日志分割的原因

随着网站的访问量越来越大,默认情况下Apache服务器产生的单个日志文件也会越来
越大,如果不对日志进行分割,那么如果日志文件占用磁盘空间很大的话势必会将整个日志
文件删除,这样也丢失了很多对网站比较宝贵的信息,而这些日志可以用来进行访问分析、
网络安全监察、网络运行状况监控等。
另外,如果服务器遇到故障时,运维人员要打开日志文件进行分析,打开的过程会消耗
很长时间,也势必会增加处理故障的时间。因此管理好这些海量的日志对网站的意义很大,
我们会将Apache的日志进行按每天的日期自动分割。下面介绍两种方法均可实现。

具体操作
1.使用Apache自有的日志分割工具

[root@localhost local]# vi /usr/local/httpd/conf/httpd.conf
……省略部分
ErrorLog "|/usr/local/bin/rotatelogs -l /var/log/httpd/error-log_%Y%m%d.log 86400"
……省略部分
CustomLog "|/usr/local/httpd/bin/rotatelogs -l /var/log/httpd/access_%Y%m%d.log 86400" combined
//(注意:修改的是这一行以combined结尾的内容 #CustomLog "logs/access_log" combined,而不是CustomLog "logs/access_log" common,容易搞混淆)
……省略部分

2.使用第三方工具cronolog分割

除了Apache自带rotatelogs分割工具,也可使用第三方工具cronolog对Apache日志进行分割,具体操作如下所示
(1)编译安装cronolog工具

[root@localhost ~]# tar zxvf cronolog-1.6.2.tar.gz
[root@localhost ~]# cd cronolog-1.6.2
[root@localhost cronolog-1.6.2]#./configure
[root@localhost cronolog-1.6.2]# make && make install

(2)设置cronolog工具工具分割apache日志

[root@localhost~]# vim /usr/local/httpd/conf/httpd.conf
……省略部分
ErrorLog "|/usr/local/sbin/cronolog /var/log/httpd/www.51xit.top-error_%Y%m%d.log"
……省略部分
CustomLog "|/usr/local/sbin/cronolog /var/log/httpd/www.51xit.top-access_%Y%m%d.log" combined
……省略部分
[root@localhost~]# systemctl restart httpd
[root@localhost ~]# cd /var/log/httpd
[root@localhost httpd]# ls //日志文件产生了
access_20200901.log www.51xit.top-access_20200901.log
error-log_20200901.log www.51xit.top-error_20200901.log

Awstats分析系统
概述

在 httpd 服务器的访问日志文件 access_log 中,记录了大量的客户机访问信息,通过 分析这些信息,可以及时了解 Web 站点的访问情况,如每天或特定时间段的访问 IP 数量, 点击量最大的页面等。
AWStats是使用Perl语言开发的一款开源日志分析系统,它不仅可用来分析Apache 网 站服务器的访问日志,也可以用来分析 Samba、Vsftpd、IIS 等服务的日志信息。结合 crond 等计划任务服务,可以对不断增长的日志内容定期进行分析。

具体操作
1.安装 AWStats 软件包

[root@localhost opt]# tar zxf awstats-7.7.tar.gz //解压源码包
[root@localhost opt]# mv /opt/awstats-7.7 /usr/local/awstats //移动到/usr/local/awstats,方便管理

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

[root@localhost opt]# cd /usr/local/awstats
[root@localhost awstats]# ls
docs README.md tools wwwroot
[root@localhost awstats]# cd /usr/local/awstats/tools/
[root@localhost tools]# ./awstats_configure.pl

……省略部分
Config file path ('none' to skip web server setup):
> /usr/local/httpd/conf/httpd.conf
……省略部分
Do you want me to setup Apache to write 'combined' log files [y/N] ? y
……省略部分
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.51xit.top
……省略部分
Default: /etc/awstats
Directory path to store config file(s) (Enter for default):
> //默认回车即可
……省略部分
/usr/local/awstats/tools/awstats_updateall.pl now
Press ENTER to continue... //这里继续回车
……省略部分
> perl awstats.pl -update -config=www.51xit.top
You can also read your statistics for 'www.51xit.top' with URL:
> http://localhost/awstats/awstats.pl?config=www.51xit.top //这个生成的用于登入Awstats日志分析系统的连接,将localhost改为自己的主机ip,复制下来后面测试用

Press ENTER to finish... //继续回车
[root@localhost tools]# vim /usr/local/httpd/conf/httpd.conf
……省略部分
<IfModule !mpm_prefork_module>
LoadModule cgid_module modules/mod_cgid.so //去掉前面的”#”号
</IfModule>
<IfModule mpm_prefork_module>
LoadModule cgi_module modules/mod_cgi.so //去掉前面的”#”号
……省略部分
<Directory "/usr/local/awstats/wwwroot"> //主配置文件中自动生成了awstats模块
Options None
AllowOverride None
# Order allow,deny //注释掉
# Allow from all //注释掉
Require all granted //新增这条,允许所有访问
</Directory>
[root@localhost tools]# systemctl restart httpd

3.修改站点统计配置文件

root@localhost tools]# vim /etc/awstats/awstats.www.51xit.top.conf //编辑awstats配置文件
……省略部分
LogFile="/usr/local/httpd/logs/access_log" //指定访问日志文件路径
……省略部分
DirData="/var/lib/awstats" //设置awstats数据文件目录,默认为/var/lib/awstats
[root@localhost tools]# mkdir /var/lib/awstats //创建awstats分析系统的数据文件目录
[root@localhost tools]# chmod +x awstats_updateall.pl
[root@localhost tools]# ./awstats_updateall.pl //启动更新(这条有时不管用,用下面这条)
#[root@localhost tools]# /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.51xit.top
//后面的跟监听的域名

4.访问测试

Apache配置!设置连接保持、访问控制及日志分割

原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

Apache配置!设置连接保持、访问控制及日志分割

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » Apache配置!设置连接保持、访问控制及日志分割
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏