- 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的日志進行按每天的日期自動分割,下面介紹兩種方法均可實作,
具體操作
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.訪問測驗

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/1438.html
標籤:其他
上一篇:spark的轉換算子2
下一篇:CSDN搜索可以搜博客代碼了
