Apache基礎配置與日誌管理
Apache基礎配置與日誌管理
Apache配置
Apache連線保持
Apache連線保持相關引數
1.KeepAlive (預設是On)
是否開啟連線保持,OFF關閉,ON開啟
2.KeepAlive Timeout(預設超時時間5,保持連線狀態的時間)
一次連線多次請求之間的最大間隔時間,兩次請求超過該時間連線斷開
3.MaxKeepAliveRequests(預設100)
一次長連線能夠傳輸的最大請求數量
Apache配置檔案
訪問控制檔案位置
vi /usr/local/httpd/conf/extra/httpd-default.conf
預設配置
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
日誌檔案位置
/usr/local/httpd/logs/
Apache訪問控制
啟動一下
vi /usr/local/httpd/conf/httpd.conf
找到下面這一條然後把#去掉
#Include conf/extra/httpd-default.conf
重啟httpd
systemctl stop httpd
systemctl start httpd
常用訪問控制方式
客戶機地址限制
使用者授許可權制
常用訪問控制的配置
選項 | 說明 |
---|---|
Require all granted | 允許所有主機訪問 |
Require all denied | 拒絕所有主機訪問 |
Require local | 僅允許本地主機訪問 |
Require [not] host <主機名或域名列表> | 允許或拒絕指定主機或域名訪問 |
Require [not] ip <IP 地址或網段列表> | 允許或拒絕指定IP地址網路訪問 |
使用not禁止訪問時要講其置於容器中並在指定相應的限制策略
客戶機地址限制
1.拒絕某一個指定地址訪問網頁
方法一:在網頁站點目錄中設定許可權
vi /etc/httpd.conf
匹配下面的字元
AllowOverride controls
新增
Order deny,allow
Deny from 20.0.0.1/32
重啟前
重啟後
檢視錯誤日誌
tail -5 /usr/local/httpd/logs/error_log
把剛剛的控制刪掉在重啟就可以繼續訪問了
方法2
vi /etc/httpd.conf
使用<RequireAll>
<RequireAll>
Require all granted
Require not ip 20.0.0.1/32
</RequireAll>
tail -5 /usr/local/httpd/logs/error_log
使用者授許可權制
1.建立使用者認證資料庫
建立一個使用者資料庫(由於做過連結可以直接使用命令)
htpasswd -c /usr/local/httpd/conf/.awspwd ljs
確認使用者資料庫檔案
cat /usr/local/httpd/conf/.awspwd
// A code block
var foo = 'bar';
AllowOverride None
Order allow,deny
Allow from all
AuthName "www.test.com"
AuthType Basic
AuthUserFile /usr/local/httpd/conf/.awspwd
Require valid-user
解釋
配置選項 | 作用 |
---|---|
Order allow,deny | 順序先允許,後拒絕 |
Allow from all | 允許所有 |
AuthName “www.tese.com” | 認證域名 |
AuthType Basic | 認證型別基本 |
AuthUserFile /usr/local/httpd/conf/.awspwd | 認證檔案路徑 |
Require valid-user | 允許授權使用者登入 |
重啟httpd
Apache日誌管理
日誌分割
為什麼日誌分割
隨著網站的訪問量增加,預設情況下Apache的單個日誌檔案也會越來越大
日誌檔案佔用磁碟空間很大
檢視相關資訊不方便
如何對日誌檔案進行分割
Apache自帶rotatelogs分割工具實現
第三方工具cronolog分割
Apache自帶rotatelogs分割工具實現
vi /etc/httpd.conf
ErrorLog "|/usr/bin/rotatelogs -l logs/error_log_%Y-%m-%d 86400"
選項 | 作用 |
---|---|
-l | 表示使用本地時間 |
/error_log | 日誌名稱 |
%Y-%m-%d | 年-月-日 |
86400 | 表示日誌分隔的間隔是1天,單位是秒 |
日誌檔案目錄
cd /usr/local/httpd/logs/
已經生成了一個檔案
第三方工具cronolog分割
解壓編譯安裝
tar xf cronolog-1.6.2.tar.gz
./configure
make && make install
獲取絕對路徑
which cronolog
vi /etc/httpd.conf
ErrorLog "|/usr/local/sbin/cronolog logs/error.cronolog_%Y-%m-%d"
使用AWstats日誌分析軟體
不同於前面的方法,AWstat是對整個日誌檔案進行操作,所以要把其餘的日誌分割操作去掉
準備軟體包
vi /etc/httpd.conf
ErrorLog "logs/error_log"
確認是否載入cgi模組
apachectl -D DUMP_MODULES | grep cgi
假如和我一樣沒有,需要去載入cgi模組
cd /usr/local/httpd/modules/
vi /etc/httpd.conf
重啟
tar xf awstats-7.6.tar.gz
mv awstats-7.6 /usr/local/awstats
cd /usr/local/
chown -R root.root awstats/
cd awstats/tools/
執行指令碼
./awstats_configure.pl
依次輸入
路徑
/usr/local/httpd/conf/httpd.conf
然後網址
生成AWstats的訪問路徑
生成一個網址
http://localhost/awstats/awstats.pl?config=www.test.com
編輯AWstats的配置檔案
vi /etc/awstats/awstats.www.test.com.conf
LogFile="/usr/local/httpd/logs/access_log"
DirData="/var/lib/awstats"
cd /usr/local/httpd/logs/
刪除多餘的日誌檔案
cd /usr/local/awstats/tools/
重啟主機
切換目錄
cd /usr/local/awstats/tools/
手動採集日誌
./awstats_updateall.pl now
vi /etc/httpd.conf
#Order allow,deny
#Allow from all
Require all granted
輸入上面生成的網址
換一臺裝置使用IP地址訪問
通過以下配置頁面自動跳轉優化統計頁面訪問
即開啟一個網頁直接可以跳轉到分析日誌路徑網頁
cd /usr/local/httpd/htdocs/
vim admin.html
<html>
<head>
<meta http-equiv=refresh content="0;url=http://20.0.0.11/awstats/awstats.pl?config=www.test.com">
</head>
<body></body>
</html>
直接自動跳轉
相關文章
- Apache基礎配置與日誌管理解析Apache
- Apache 配置日誌切割Apache
- Python - 基礎知識專題 - 配置檔案與日誌管理(正在寫作)Python
- 日誌分析-apache日誌分析Apache
- Linux-本地日誌服務管理(rsyslog基礎)Linux
- 開源元件ELK日誌系統配置與管理元件
- perl分析apache日誌Apache
- Core + Vue 後臺管理基礎框架9——統一日誌Vue框架
- 日誌框架體系整理( 基礎 )框架
- 日誌配置
- Spring Boot 2 中的預設日誌管理與 Logback 配置詳解Spring Boot
- Django基礎之四(日誌)【待續】Django
- 日誌管理
- 零基礎寫框架(2):故障排查和日誌基礎框架
- Apache Camel日誌四種方法Apache
- 玄機-第二章日誌分析-apache日誌分析Apache
- Django日誌配置Django
- Nginx日誌配置Nginx
- python日誌配置Python
- MySQL 日誌管理、備份與恢復MySql
- 日誌服務之告警接入與管理
- Redis基礎篇(三)持久化:AOF日誌Redis持久化
- 【Spring】日誌列印sql,日誌配置列印sqlSpringSQL
- Mysql 日誌管理MySql
- linux日誌管理Linux
- SpringBoot日誌管理Spring Boot
- 重做日誌管理
- Logback詳細整理,基於springboot的日誌配置Spring Boot
- Spring Boot日誌配置Spring Boot
- 基於.NetCore3.1系列 —— 日誌記錄之日誌配置揭祕NetCore
- 某行日誌平臺 Elasticsearch 運維基礎篇Elasticsearch運維
- maven安裝與基礎配置Maven
- 限制 Apache日誌檔案大小的方法Apache
- MySQL日誌管理,舊MySql
- 【MySQL日誌】MySQL日誌檔案初級管理MySql
- springboot超級詳細的日誌配置(基於logback)Spring Boot
- Apache配置與應用Apache
- 應用配置管理,基礎原理分析