Apache配置剖析
Apache连接保持
Apache连接保持相关参数
KeepAlive
是否打开连接保持,OFF关闭,ON打开
KeepAliveTimeout
一次连接多次请求之间的最大间隔时间,两次请求超时该时间连接断开
MaxKeepAliveRequests
一次长连接能给够传输的最大请求数量
查看保持连接的配置文件
vi /usr/local/httpd/conf/extra/httpd-default.conf
Apache访问控制
作用
- 控制对网络资源的访问
- 为特定的网站目录添加访问权限
常用访问控制方式
- 客户机地址限制
- 用户授权权限
代码演示
[root@bogon ~]# vi /usr/local/httpd/conf/httpd.conf
251 #Require all granted
252 Require ip 127.0.0.1
253 Require ip 192.168.73.1 Windows打开cmd输入ipconfig查看VMnet8的IP 允许Windows连接
Require all granted:允许所有主机访问
Require all denied:拒绝所有主机访问
Require local:仅允许本地主机访问
Require [not] host <主机名或域名列表>:允许或拒绝指定主机或域名访问
Require [not] ip <IP 地址或网段列表>:允许或拒绝指定 IP 地址网络访问
也可以写网段 写那个就是允许那个连接
<RequireAll>
Require all granted
Require not ip 192.168.0.0/24 192.168.1.0/24
</RequireAll>
[root@bogon ~]# systemctl restart httpd 重启服务 只要修改配置文件就重启服务
[root@bogon ~]# cd /usr/local/httpd/
[root@bogon httpd]# bin/htpasswd -c /usr/local/httpd/conf/.awspwd webadmin
New password:
Re-type new password:
Adding password for user webadmin
[root@bogon httpd]# cat /usr/local/httpd/conf/.awspwd
webadmin:$apr1$bwZSdpMv$p2m2yw2Vwxo8b7gPoB5Mb.
[root@bogon httpd]# vi /usr/local/httpd/conf/httpd.conf
251 #Require all granted
AuthName "DocumentRoot"
AuthType Basic
AuthUserFile /usr/local/httpd/conf/.awspwd
Require valid-user
[root@bogon ~]# systemctl restart httpd
Apache日志管理
日志分割
随着网站的访问量增加,默认情况下Apache的单个日志文件也会越来越大
- 日志文件占用磁盘空间很大
- 查看相关信息不方便
对日志文件进行分割
- Apache自带rotalelog分割工具实现
- 使用第三方工具cronolog分割
自带的日志分割
自带的日志分割
[root@bogon ~]# mkdir /var/log/httpd
[root@bogon ~]# vi /usr/local/httpd/conf/httpd.conf
277 #ErrorLog "logs/error_log"
278 ErrorLog "|/usr/local/bin/rotatelogs -l /var/log/httpd/error_%Y%m%d.log 86400"
307 #CustomLog "logs/access_log" common
308 CustomLog "|/usr/local/bin/rotatelogs -l /var/log/httpd/access_%Y%m%d.log 86400" combined
[root@bogon ~]# systemctl restart httpd
[root@bogon ~]# ls /var/log/httpd/
error_20240709.log
[root@bogon ~]#
使用第三方工具进行日志分割
使用第三方工具进行日志分割
# 编译安装 cronolog 工具
tar zxvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure
make && make install
# 设置 cronolog 工具工具分割 apache 日志
vi /usr/local/httpd/conf/httpd.conf
277 ErrorLog "|/usr/local/sbin/cronolog /var/log/httpd/www.kgc.com-error_%Y%m%d.log"
308 CustomLog "|/usr/local/sbin/cronolog /var/log/httpd/www.kgc.com-access_%Y%m%d.log" combined
systemctl restart httpd
AWStats日志分析
上传awstats-7.7.tar.gz软件包
[root@bogon ~]# tar zxf awstats-7.7.tar.gz
[root@bogon ~]# mv awstats-7.7 /usr/local/awstats
[root@bogon ~]# yum -y install perl
[root@bogon ~]# cd /usr/local/awstats/tools/
[root@bogon tools]# chmod +x awstats_configure.pl
[root@bogon tools]# ./awstats_configure.pl
/usr/local/httpd/conf/httpd.conf
y
y
www.kgc.com
一律回车
[root@bogon tools]# vi /usr/local/httpd/conf/httpd.conf
145 <IfModule !mpm_prefork_module>
146 LoadModule cgid_module modules/mod_cgid.so
147 </IfModule>
148 <IfModule mpm_prefork_module>
149 LoadModule cgi_module modules/mod_cgi.so
150 </IfModule>
配置文件最后修改的
<Directory "/usr/local/awstats/wwwroot">
Options None
AllowOverride None
#Order allow,deny
#Allow from all
Require all granted
</Directory>
[root@bogon tools]# rm -rf /usr/local/httpd/logs/error_log 删除以前日志文件
[root@bogon tools]# rm -rf /usr/local/httpd/logs/access_log
[root@bogon tools]# systemctl restart httpd
[root@bogon tools]# vi /etc/awstats/awstats.www.kgc.com.conf
50 LogFile="/usr/local/httpd/logs/access_log"
[root@bogon tools]# mkdir /var/lib/awstats
[root@bogon tools]# cd /usr/local/awstats/tools/
[root@bogon tools]# chmod +x awstats_updateall.pl
[root@bogon tools]# ./awstats_updateall.pl now
浏览器上访问
:http://192.168.73.129/awstats/awstats.pl?config=www.kgc.com
、
设置周期任务 每隔五分钟执行一次
[root@bogon tools]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
[root@bogon tools]# crontab -l
*/5 * * * * /usr/local/awstats/tools/awstats_updateall.pl now
[root@bogon tools]#