Tomcat7 開啓CGI,並配置awstats日誌監控(轉載,並完善內容)

1. 搭建環境php

  • Apache Tomcat 7.xcss

  • JDK 1.6+html

  • Perl 5.2+ (awstats是使用perl開發的)java

  • Linux (自帶Perl環境)python

2. 修改<Tomcat_HOME>\conf\web.xml配置文件,取消 cgi servlet 和對應的 mapping 註釋,讓Tomcat支持cgi程序執行:web

<servlet>
	<servlet-name>cgi</servlet-name>
	<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
	<init-param>
		<param-name>debug</param-name>
		<param-value>0</param-value>
	</init-param>
	<init-param>
		<param-name>cgiPathPrefix</param-name>
		<param-value>WEB-INF/cgi</param-value>
	</init-param>
	<init-param>
		<param-name>passShellEnvironment</param-name>
		<param-value>true</param-value>
	</init-param>
 <load-on-startup>5</load-on-startup>
</servlet>

<servlet-mapping>
	<servlet-name>cgi</servlet-name>
	<url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>

3. 修改<Tomcat_HOME>\conf\context.xml配置文件,在Context上添加 privileged="true" 屬性:apache

<Context privileged="true">
<!--其餘部分-->
</Context>

4. 測試CGI是否成功,在<Tomcat_HOME>\webapps\ROOT\WEB-INF\cgi\下建立cgi腳本文件 test.cgi:tomcat

# filename: test.cgi
print "Content-type: text/html\n\n";
print "Hello, world!\n"

  啓動Tomcat,並訪問:http://localhost:8080/cgi-bin/test.cgi,若是能看到  Hello, world! 頁面,說明cgi開啓成功。app

5. 下載 awstats 日誌分析工具,並解壓curl

6.  a. 在<Tomcat_HOME>/webapps/下建立 awstats目錄以及相應的WEB-INF目錄

     b. 將<AWSTATS_HOME>/wwwroot/目錄下 css/,icon/,js/目錄拷貝到 <Tomcat_HOME>/webapps/awstats/ 目錄下

     c. 將<AWSTAS_HOME>/wwwroot/cgi-bin/ 下的全部文件拷貝到 <TOMCAT_HOME>/webapps/awstats/WEB-INF/cgi 目錄下

7.  重命名<Tomcat_HOME>/webapps/awstats/WEB-INF/cgi/awstats.model.conf 爲 awstats.localhost.conf,並修改以下的配置:

#對應日誌文件所在位置
LogFile="/usr/java/apache-tomcat-7.0.52/logs/localhost_access_log.%yyyy-%mm-%dd.txt"

#站點域名
SiteDomain="localhost"

#在cgi創建data文件夾
DirCgi="/cgi"   
DirData="data"

#圖標所在目錄
DirIcons="../icon"

#國際化文件所在目錄
DirLang="./lang"

#國際化所使用的語言,默認爲"auto"
Lang="cn"

#容許在web頁更新日誌,默認爲0(命令行更新:awstats.pl -config=localhost -update)
AllowToUpdateStatsFromBrowser=1

#生成頁面所使用的樣式表,awstas提供了默認的樣式表,可經過該項目自定義awstats樣式
StyleSheet="../css/awstats_default.css"

#在生成頁面頭部所要加入的HTML(可選)
HTMLHeadSection="<div id="header">Head Example</div>"

#在生成頁面尾部索要加入的HTML(可選)
HTMLEndSection="<div>@company</div>"

8. 修改<Tomcat_HOME>/conf/server.xml

<Service name="Catalina"> 
  <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
      <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
            prefix="localhost_access_log." suffix=".txt"
            pattern="combined" fileDateFormat="yyyy-MM-dd" resolveHosts="false"/>
	</Host>
</Service>

提示:

配置的prefix須要與awstats中配置一致;

pattern:配置日誌的格式,默認也可設置爲common或combined,也可自行配置格式(可是若是要集成awstats,必須使用combined,或者擴展他)

common:%h %l %u %t %r %s %b

combined:%h %l %u %t %r %s %b %{Referer}i %{User-Agent}i

9. 啓動及驗證:

啓動tomcat後,輸入:http://localhost:8080/awstats/cgi-bin/awstats.pl?config=localhost

便可查看,須要點擊 「當即更新「,不然新配置的不會有數據;

config爲須要查看的統計站點,與你配置相同便可;

10. 有關更新頻率:

更新可直接在頁面中點擊「馬上更新」,或也能夠設置一個crotab -e進行配置:

0 */10 * * * curl http://127.0.0.1::8080/awstats/cgi-bin/awstats.pl?month=04&year=2014&config=localhost&framename=mainright&update=1

相關文章
相關標籤/搜索