您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關Nginx中怎么實現AWStats靜態頁面,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
1. 下載***版的AWStats,基本就是Perl包,所以沒必要用apt-get,解壓縮到/usr/local/awstats下
wget http://prdownloads.sourceforge.net/awstats/awstats-6.95.tar.gz
tar -xzf awstats-6.95.tar.gz
mv awstats-6.95 /usr/local/awstats
2. 創建一個存放awstats分析數據的目錄
mkdir /var/lib/awstats
chown www-data /var/lib/awstats //這是為了讓awstats頁面上能直接刷新***數據
3. 自動配置awstats
cd /usr/local/awstats/tools
perl awstats_configure.pl
除了***步因為是Ngin服務器的關系,所以要選none,其他基本按照提示選默認值
4. 手工編輯Nginx配置文件
1) 修改LogFile路徑
LogFile = “/var/log/Nginx/access.log”
如果是壓縮格式的日志,可以用LogFile = “zcat /var/log/Nginx/%YYYY-24%MM-24%DD-24.gz|"。這里用zcat是因為其使用管道輸出,對系統資源消耗比較小,千萬不要忘了***的管道操作符!
假設原來/etc/Nginx/Nginx.conf中關于log部分是如此定義的:(要小心各個變量之間必須添加的空格,不能少,否則awstats就不認了)
log_format main ‘$remote_addr $remote_user [$time_local] “$request” $status ‘
‘$host $body_bytes_sent $gzip_ratio “$http_referer” ‘
‘”$http_user_agent” “$http_x_forwarded_for”‘;
很容易知道,對應awstats配置文件中,LogFormat應該設置為
LogFormat= “%host %logname %time1 %methodurl %code %host_r %bytesd %gzipratio %refererquot %uaquot %otherquot”
***一個選%otherquot是應為$http_x_forwarded_for在AWstats 6.95中還不認識
3) 將AllowToUpdateStatsFromBrowser=1,便于瀏覽器中即時刷新數據
5. 更新Awstats的分析記錄,測試一下剛才的配置
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=yousite.com
如果一切正常,應該看到類似以下的結果:
Create/Update database for config “/etc/awstats/awstats.yoursite.com.conf” by AWStats version 6.95 (build 1.943)
From data in log file “/var/log/Nginx/access.log”…
Phase 1 : First bypass old records, searching new record…
Searching new records from beginning of log file…
Phase 2 : Now process new records (Flush history on disk after 20000 hosts)…
Jumped lines in file: 0
Parsed lines in file: 1234
Found 0 dropped records,
Found 0 corrupted records,
Found 0 old records,
Found 1234 new qualified records.
6. 修改logrotate.d下的Nginx配置文件,在每天切割日志前,更新awstats狀態
/var/log/ nginx /*.log { daily missingok rotate 7 compress delaycompress notifempty create 640 www-data www-data dateext sharedscripts prerotate /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=yoursite.com sleep 59 endscript postrotate if [ -f /var/run/nginx.pid ]; then kill -USR1 `cat /var/run/nginx.pid` fi endscript }
7. 接下來是最關鍵的NGINX配置文件
#AWStatus Perl CGI server server { listen 80; server_name awstats.yoursite.com; access_log /var/log/nginx/awstats.log main; error_log /var/log/nginx/awstats_error.log; #這可以為fail2ban留下記錄 root /usr/local/awstats/wwwroot; auth_basic “Restricted”; auth_basic_user_file /etc/nginx/awstatus.pass; location = / { rewrite ^ /awstats.pl?config=freshventure.info; } location ~ .*(\.cgi|\.pl?)$ { gzip off; #gzip makes scripts feel slower since they have to complete before getting gzipped root /usr/local/awstats/wwwroot/cgi-bin; fastcgi_pass 127.0.0.1:8000; fastcgi_index awstats.pl; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
好了,測試一下http://awstats.yoursite.com,和前文一樣,輸入密碼后,這次看到的應該就awstats的界面了
8. 如果需要配置靜態頁面,則可以在logrotate中替換掉上面的awstats.pl, 換成
/usr/local/awstats/tools/awstats_buildstaticpages.pl -update -config=yoursite.com -lang=cn -dir=/usr/local/awstats/wwwroot -awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl。
上述就是小編為大家分享的Nginx中怎么實現AWStats靜態頁面了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。