首頁 後端開發 php教程 Apache服务器Log分析应用实例_PHP

Apache服务器Log分析应用实例_PHP

Jun 01, 2016 pm 12:40 PM
程式碼 分析 實例 應用 伺服器

Apache

Apache 服务器Log分析应用实例

rhinux 发表于: 2004-11-28 22:11



互联网的飞速发展,无论是传统企业的网站,还是互联网企业,为了了解自己的客户来源,点击率等资料,对网站日志的分析尤为重要,以下就本人所做的日志分析系统与大家分享,希望能对大家有所帮助。





欢迎大家复制,但请大家保留本文的完整,谢谢!!








一,所用软件及工具


1,Apache服务器 官方网址:http://www.apache.org


2,awstats 日志分析软件 官方网址:http://awstats.sourceforge.net/


3,cronolog 日志截取软件 官方网址:http://www.cronolog.org


二,环境构架


1,RedHat AS 3


2,Apache


./configure –prefix=/usr/local/apache2/ --enable-so


make


make install


3, awstats


直接tar到 /usr/local/awstats


4,cronolog


./configure –prefix=/usr/local/cronolog


make


make install


三, 配置


1, apache


a,让apache中的某个虚拟主机产生日志:





全局环境变量设置:


代码:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined


SetEnvIf Request_URI \.gif$ gif-image


SetEnvIf Request_URI \.GIF$ gif-image


SetEnvIf Request_URI \.jpg$ gif-image


SetEnvIf Request_URI \.JPG$ gif-image


SetEnvIf Request_URI \.png$ gif-image


SetEnvIf Request_URI \.swf$ gif-image


SetEnvIf Request_URI \.SWF$ gif-image


SetEnvIf Request_URI \.css$ gif-image


SetEnvIf Request_URI \.CSS$ gif-image


SetEnvIf Request_URI \.js$ gif-image


SetEnvIf Request_URI \.JS$ gif-image


SetEnvIf Request_URI \.ico$ gif-image






产生日志但不包括 图片。


虚拟主机日志设置


代码:



ServerAdmin webmaster@abc.net


DocumentRoot /db/htdocs/www


ServerName www.abc.net


CustomLog "|/usr/local/cronolog/sbin/cronolog /db/logs/www.%Y-%m-%d.log" combined env=!gif-image


#用cronolog截取存放在/db/logs/下的按日期产生的apache日志文件






注:日志文件是针对每一个虚拟主机产生的所以可以配置一台服务器上多个虚拟主机的日志分析


b,别名设置


代码:



#


# Directives to allow use of AWStats as a CGI


#


Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"


Alias /awstatscss "/usr/local/awstats/wwwroot/css/"


Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"


ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"





#


# This is to permit URL access to scripts/files in AWStats directory.


#





Options None


AllowOverride None


Order allow,deny


Allow from all









该配置在运行awstats/tools/awstats_configure.pl 后会自动产生所以不用手动添加。


c,awstats需要cgi的支持如果没有添加cgi可以现在添加


代码:



./apxs -c -i /usr/local/src/httpd-2.0.50/modules/generators/mod_cgi.c






再在httpd.conf 中添加


代码:



LoadModule cgi_module modules/mod_cgi.so






d为了保护日志统计信息需要对某些目录进行认证设置,需要认证模块的支持


代码:



./apxs -c -i /usr/local/src/httpd-2.0.50/..../mod_auth.c






再在httpd.conf 中添加


代码:



LoadModule auth_module modules/mod_auth.so






配置需要认证的目录:


代码:






AuthType Basic


AuthName "Restricted Files"


AuthUserFile /usr/local/apache2/passwd/passwords


Require user loguser









其中在 /usr/local/apache2/passwd/下产生passwords 的密码文件


运行如下代码产生用户名为loguser用户及其密码


代码:



/usr/local/apache2/bin/htpasswd -c /usr/local/apache2/passwd/passwords loguser



注意:先要在 /usr/local/apache2/下建passwd目录


2,Awstats


运行 /usr/local/awstats/tools/awstats_configure.pl


主要设置的是需要输入做统计的主机名的配置文件名如:www.abc.net


接着修改 刚才配置是产生的awstats配置文件 默认位置在:


/etc/awstats/awstats.www.abc.net.con 主要做指定log位置


代码:



LogFile="/db/logs/www.%YYYY-4-%MM-2-%DD-2.log"






创建目录:mkdir /var/lib/awstats/


执行:


代码:



/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.abc.net






更新,update 后可以在浏览器中输入 http://www.abc.net/awstats/awstats.pl 进行访问了。








3,cronolog (基本不用什么修改)


4,crontab的修改


在 crontab中添加如下 命令保证15分钟更新一次,也可以根据你自己的需要修改更新的间隔


代码:



*/15 * * * * /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.abc.net






四,安全性考虑


1, 以上的设置由于要cgi支持,也增加了安全隐患可以用awstats 自带的awstats_buildstaticpages.pl来 生成静态页面 可以添加到crontab中


代码:



*/15 * * * * /usr/local/awstats/tools/awstats_buildstaticpages.pl -update -config=www.abc.net -lang=cn -dir=/db/htdocs/www/awstat/ -awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl






这样没15分钟在/db/htdocs/www/awstat/ 下生成各种静态页面





2,保护/db/htdocs/www/awstat/禁止未授权用户访问





在httpd.conf中添加


代码:






AuthType Basic


AuthName "Restricted Files"


AuthUserFile /usr/local/apache2/passwd/passwords


Require user loguser









如果www.abc.net 虚拟主机 主目录为/db/htdocs/www/ 则在浏览器中输入http://www.abc.net/awstat/awstats.www.abc.net.html 就可以通过认真访问静态页面


3,如果用静态页面就不要忘了注释掉


LoadModule cgi_module modules/mod_cgi.so








五,献给我最爱的飞飞。





六,由于本人是初学者,本文略显粗糙,如有任何指点和问题欢迎和我联系,大家相互交流提高 :hoash2003@hotmail.com



欢迎大家复制,但请大家保留本文的完整,谢谢!!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何在iPhone中撤銷從主畫面中刪除 如何在iPhone中撤銷從主畫面中刪除 Apr 17, 2024 pm 07:37 PM

從主畫面中刪除了重要內容並試圖將其取回?您可以透過多種方式將應用程式圖示放回螢幕。我們已經討論了您可以遵循的所有方法,並將應用程式圖示放回主畫面如何在iPhone中撤消從主畫面中刪除正如我們之前提到的,有幾種方法可以在iPhone上恢復此變更。方法1–替換應用程式庫中的應用程式圖示您可以直接從應用程式庫將應用程式圖示放置在主畫面上。步驟1–橫向滑動以尋找應用程式庫中的所有應用程式。步驟2–找到您先前刪除的應用程式圖示。步驟3–只需將應用程式圖示從主庫拖曳到主畫面上的正確位置即可。這是將應用程式圖

如何將Dnsmasq設定為DHCP中繼伺服器 如何將Dnsmasq設定為DHCP中繼伺服器 Mar 21, 2024 am 08:50 AM

DHCP中繼的作用是將接收到的DHCP封包轉送到網路上的另一個DHCP伺服器,即使這兩台伺服器位於不同的子網路中。透過使用DHCP中繼,您可以實現在網路中心部署集中式的DHCP伺服器,並利用它為所有網路子網路/VLAN動態分配IP位址。 Dnsmasq是一種常用的DNS和DHCP協定伺服器,可設定為DHCP中繼伺服器,以協助管理網路中的動態主機設定。在本文中,我們將向您展示如何將dnsmasq配置為DHCP中繼伺服器。內容主題:網路拓樸在DHCP中繼上設定靜態IP位址集中式DHCP伺服器上的D

PHP中箭頭符號的作用及實作應用 PHP中箭頭符號的作用及實作應用 Mar 22, 2024 am 11:30 AM

PHP中箭頭符號的作用及實踐應用在PHP中,箭頭符號(->)通常用於存取物件的屬性和方法。物件是PHP中物件導向程式設計(OOP)的基本概念之一,在實際開發中,箭頭符號在操作物件時發揮重要作用。本文將介紹箭頭符號的作用以及實踐應用,並提供具體的程式碼範例來幫助讀者更好地理解。一、箭頭符號的作用存取物件的屬性箭頭符號可以用來存取物件的屬性。當我們實例化一個對

從入門到精通:探索Linux tee命令的各種應用場景 從入門到精通:探索Linux tee命令的各種應用場景 Mar 20, 2024 am 10:00 AM

Linuxtee命令是一個非常有用的命令列工具,它可以在不影響已有輸出的情況下,將輸出寫入檔案或將輸出送到另一個命令。在本文中,我們將深入探索Linuxtee命令的各種應用場景,從入門到精通。 1.基本用法首先,我們來看看tee指令的基本用法。 tee指令的語法如下:tee[OPTION]...[FILE]...該指令會從標準輸入讀取數據,並將數據

如何使用Copilot產生程式碼 如何使用Copilot產生程式碼 Mar 23, 2024 am 10:41 AM

身為一名程式設計師,對於能夠簡化程式設計體驗的工具,我感到非常興奮。借助人工智慧工具的幫助,我們可以產生演示程式碼,並根據需求進行必要的修改。在VisualStudioCode中新引入的Copilot工具讓我們能夠創建具有自然語言聊天互動的AI生成程式碼。透過解釋功能,我們可以更好地理解現有程式碼的含義。如何使用Copilot產生程式碼?要開始,我們首先需要取得最新的PowerPlatformTools擴充。要實現這一點,你需要進入擴充頁面,搜尋“PowerPlatformTool”,然後點擊Install按鈕

如何在伺服器上安裝 PHP FFmpeg 擴充功能? 如何在伺服器上安裝 PHP FFmpeg 擴充功能? Mar 28, 2024 pm 02:39 PM

如何在伺服器上安裝PHPFFmpeg擴充功能?在伺服器上安裝PHPFFmpeg擴充功能可以幫助我們在PHP專案中處理音視訊文件,實現音視訊文件的編解碼、剪輯、處理等功能。本文將介紹如何在伺服器上安裝PHPFFmpeg擴展,以及具體的程式碼範例。首先,我們需要確保伺服器上已經安裝了PHP以及FFmpeg。如果沒有安裝FFmpeg,可以依照下列步驟安裝FFmpe

建立並執行Linux'.a”文件 建立並執行Linux'.a”文件 Mar 20, 2024 pm 04:46 PM

在Linux作業系統中處理檔案需要使用各種命令和技術,使開發人員能夠有效率地建立和執行檔案、程式碼、程式、腳本和其他東西。在Linux環境中,擴展名為”.a”的檔案作為靜態庫具有重要的重要性。這些程式庫在軟體開發中發揮重要作用,允許開發人員有效地管理和共享多個程式的公共功能。對於Linux環境中的有效軟體開發,了解如何建立和運行「.a」檔案至關重要。本文將介紹如何全面安裝和設定Linux「.a」文件,讓我們一起探索Linux「.a」文件的定義、用途、結構,以及建立和執行它的方法。什麼是L

清華大學與智譜AI重磅開源 GLM-4:掀起自然語言處理新革命 清華大學與智譜AI重磅開源 GLM-4:掀起自然語言處理新革命 Jun 12, 2024 pm 08:38 PM

自2023年3月14日開始,ChatGLM-6B以來,GLM系列模型受到了廣泛的關注與認可。特別是在ChatGLM3-6B開源之後,開發者對智譜AI推出的第四代模型充滿了期待。而這項期待,隨著GLM-4-9B的發布,終於得到了充分的滿足。 GLM-4-9B的誕生為了賦予小模型(10B及以下)更加強大的能力,GLM技術團隊經過近半年的探索,推出了這款全新的第四代GLM系列開源模型:GLM-4-9B。這一模型在確保精度的同時,大幅度壓縮了模型大小,具有更快的推理速度和更高的效率。 GLM技術團隊的探索沒

See all articles